[PATCH v1 0/7] qemu_capabilities: Report Hyper-V Enlightenments in domcapabilities

Michal Prívozník (7): domain_capabilities: s/qemuDomainCapsFeatureFormatSimple/virDomainCapsFeatureFormatSimple/ qemu_capabilities: Decrease scope of @hash in virQEMUCapsProbeQMPHostCPU() qemuMonitorJSONMakeCPUModel: Introduce @hv_passthrough argument qemuMonitorJSONGetCPUModelExpansion: Introduce @hv_passthrough argument qemu_capabilities: Query for Hyper-V Enlightenments domain_capabilities: Expose Hyper-V Enlightenments qemu_capabilities: Report Hyper-V Enlightenments in domcapabilities docs/formatdomaincaps.rst | 15 + src/conf/domain_capabilities.c | 28 +- src/conf/domain_capabilities.h | 8 + src/conf/schemas/domaincaps.rng | 10 + src/qemu/qemu_capabilities.c | 86 ++++- src/qemu/qemu_driver.c | 3 +- src/qemu/qemu_monitor.c | 5 +- src/qemu/qemu_monitor.h | 1 + src/qemu/qemu_monitor_json.c | 21 +- src/qemu/qemu_monitor_json.h | 1 + tests/cputest.c | 2 +- .../domaincapsdata/qemu_4.2.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_4.2.0-tcg.x86_64.xml | 1 + .../qemu_4.2.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_4.2.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_4.2.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_4.2.0.s390x.xml | 1 + tests/domaincapsdata/qemu_4.2.0.x86_64.xml | 1 + .../domaincapsdata/qemu_5.0.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_5.0.0-tcg.x86_64.xml | 1 + .../qemu_5.0.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_5.0.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_5.0.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_5.0.0.x86_64.xml | 1 + .../domaincapsdata/qemu_5.1.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_5.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_5.1.0.sparc.xml | 1 + tests/domaincapsdata/qemu_5.1.0.x86_64.xml | 1 + .../domaincapsdata/qemu_5.2.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 1 + .../qemu_5.2.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_5.2.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_5.2.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_5.2.0.s390x.xml | 1 + tests/domaincapsdata/qemu_5.2.0.x86_64.xml | 1 + .../domaincapsdata/qemu_6.0.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 1 + .../qemu_6.0.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_6.0.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_6.0.0.s390x.xml | 1 + tests/domaincapsdata/qemu_6.0.0.x86_64.xml | 1 + .../domaincapsdata/qemu_6.1.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_6.1.0.x86_64.xml | 1 + .../domaincapsdata/qemu_6.2.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 1 + .../qemu_6.2.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_6.2.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_6.2.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_6.2.0.x86_64.xml | 1 + .../domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 1 + .../qemu_7.0.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_7.0.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_7.0.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 1 + .../domaincapsdata/qemu_7.1.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.1.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_7.1.0.x86_64.xml | 1 + .../domaincapsdata/qemu_7.2.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_7.2.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.2.0.x86_64.xml | 1 + .../caps_4.2.0.aarch64.replies | 45 +++ .../caps_4.2.0.x86_64.replies | 317 ++++++++++++++++ .../caps_5.0.0.aarch64.replies | 46 +++ .../caps_5.0.0.x86_64.replies | 318 ++++++++++++++++ .../caps_5.1.0.x86_64.replies | 323 ++++++++++++++++ .../caps_5.2.0.aarch64.replies | 47 +++ .../caps_5.2.0.x86_64.replies | 324 ++++++++++++++++ .../caps_6.0.0.aarch64.replies | 47 +++ .../caps_6.0.0.x86_64.replies | 336 +++++++++++++++++ .../caps_6.1.0.x86_64.replies | 338 +++++++++++++++++ .../caps_6.2.0.aarch64.replies | 47 +++ .../caps_6.2.0.x86_64.replies | 348 +++++++++++++++++ .../caps_7.0.0.aarch64.replies | 48 +++ .../caps_7.0.0.x86_64.replies | 352 +++++++++++++++++ .../caps_7.1.0.x86_64.replies | 353 ++++++++++++++++++ .../caps_7.2.0.x86_64.replies | 353 ++++++++++++++++++ 79 files changed, 3850 insertions(+), 24 deletions(-) -- 2.38.2

There's nothing qemu specific about qemuDomainCapsFeatureFormatSimple() and in fact, the function lives in hypervisor agnostic location and thus mustn't have qemu prefix. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/conf/domain_capabilities.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/conf/domain_capabilities.c b/src/conf/domain_capabilities.c index 247cfa49de..4e412c0fd8 100644 --- a/src/conf/domain_capabilities.c +++ b/src/conf/domain_capabilities.c @@ -335,9 +335,9 @@ virDomainCapsStringValuesFormat(virBuffer *buf, static void -qemuDomainCapsFeatureFormatSimple(virBuffer *buf, - const char *featurename, - virTristateBool supported) +virDomainCapsFeatureFormatSimple(virBuffer *buf, + const char *featurename, + virTristateBool supported) { if (supported == VIR_TRISTATE_BOOL_ABSENT) return; @@ -697,9 +697,9 @@ virDomainCapsFormatFeatures(const virDomainCaps *caps, if (i == VIR_DOMAIN_CAPS_FEATURE_IOTHREADS) continue; - qemuDomainCapsFeatureFormatSimple(&childBuf, - virDomainCapsFeatureTypeToString(i), - caps->features[i]); + virDomainCapsFeatureFormatSimple(&childBuf, + virDomainCapsFeatureTypeToString(i), + caps->features[i]); } virDomainCapsFeatureSEVFormat(&childBuf, caps->sev); @@ -728,8 +728,8 @@ virDomainCapsFormat(const virDomainCaps *caps) if (caps->maxvcpus) virBufferAsprintf(&buf, "<vcpu max='%d'/>\n", caps->maxvcpus); - qemuDomainCapsFeatureFormatSimple(&buf, "iothreads", - caps->features[VIR_DOMAIN_CAPS_FEATURE_IOTHREADS]); + virDomainCapsFeatureFormatSimple(&buf, "iothreads", + caps->features[VIR_DOMAIN_CAPS_FEATURE_IOTHREADS]); virDomainCapsOSFormat(&buf, &caps->os); virDomainCapsCPUFormat(&buf, &caps->cpu); -- 2.38.2

On Thu, Dec 22, 2022 at 14:01:37 +0100, Michal Privoznik wrote:
There's nothing qemu specific about qemuDomainCapsFeatureFormatSimple() and in fact, the function lives in hypervisor agnostic location and thus mustn't have qemu prefix.
Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/conf/domain_capabilities.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-)
Reviewed-by: Peter Krempa <pkrempa@redhat.com>

The @hash variable inside of virQEMUCapsProbeQMPHostCPU() is used only within a loop, but declared at the beginning of the function. Bring the variable declaration into the said loop. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/qemu/qemu_capabilities.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 3aba9299b1..adcd3b21a6 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -3035,7 +3035,6 @@ virQEMUCapsProbeQMPHostCPU(virQEMUCaps *qemuCaps, const char *model = virQEMUCapsTypeIsAccelerated(virtType) ? "host" : "max"; g_autoptr(qemuMonitorCPUModelInfo) modelInfo = NULL; g_autoptr(qemuMonitorCPUModelInfo) nonMigratable = NULL; - g_autoptr(GHashTable) hash = NULL; g_autoptr(virCPUDef) cpu = NULL; qemuMonitorCPUModelExpansionType type; bool fail_no_props = true; @@ -3079,6 +3078,7 @@ virQEMUCapsProbeQMPHostCPU(virQEMUCaps *qemuCaps, return -1; if (nonMigratable) { + g_autoptr(GHashTable) hash = NULL; qemuMonitorCPUProperty *prop; qemuMonitorCPUProperty *nmProp; size_t i; -- 2.38.2

On Thu, Dec 22, 2022 at 14:01:38 +0100, Michal Privoznik wrote:
The @hash variable inside of virQEMUCapsProbeQMPHostCPU() is used only within a loop, but declared at the beginning of the function. Bring the variable declaration into the said loop.
The variable is used by two loops inside a block. You are moving it inside the block, but not the loop as it needs to outlive it.
Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/qemu/qemu_capabilities.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 3aba9299b1..adcd3b21a6 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -3035,7 +3035,6 @@ virQEMUCapsProbeQMPHostCPU(virQEMUCaps *qemuCaps, const char *model = virQEMUCapsTypeIsAccelerated(virtType) ? "host" : "max"; g_autoptr(qemuMonitorCPUModelInfo) modelInfo = NULL; g_autoptr(qemuMonitorCPUModelInfo) nonMigratable = NULL; - g_autoptr(GHashTable) hash = NULL; g_autoptr(virCPUDef) cpu = NULL; qemuMonitorCPUModelExpansionType type; bool fail_no_props = true; @@ -3079,6 +3078,7 @@ virQEMUCapsProbeQMPHostCPU(virQEMUCaps *qemuCaps, return -1;
if (nonMigratable) { + g_autoptr(GHashTable) hash = NULL;
You can also directly do: g_autoptr(GHashTable) hash = virHashNew(NULL); and remove the assignment which is just below this context.
qemuMonitorCPUProperty *prop; qemuMonitorCPUProperty *nmProp;
Reviewed-by: Peter Krempa <pkrempa@redhat.com>

Apart from setting @migratable prop to the query-cpu-model-expansion command, we will need @hv-passthrough so that we can query for expansion of Hyper-V Enlightenments supported on the current host. The idea is to run: { "execute": "query-cpu-model-expansion", "arguments": { "type": "full", "model": { "name": "host", "props": { "hv-passthrough": true } } } } Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/qemu/qemu_monitor_json.c | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index 9822097bd7..f9928b0393 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -4921,7 +4921,8 @@ qemuMonitorJSONParseCPUModelProperty(const char *key, static virJSONValue * qemuMonitorJSONMakeCPUModel(virCPUDef *cpu, - bool migratable) + bool migratable, + bool hv_passthrough) { g_autoptr(virJSONValue) model = virJSONValueNewObject(); size_t i; @@ -4929,7 +4930,7 @@ qemuMonitorJSONMakeCPUModel(virCPUDef *cpu, if (virJSONValueObjectAppendString(model, "name", cpu->model) < 0) return NULL; - if (cpu->nfeatures || !migratable) { + if (cpu->nfeatures || !migratable || hv_passthrough) { g_autoptr(virJSONValue) props = virJSONValueNewObject(); for (i = 0; i < cpu->nfeatures; i++) { @@ -4951,6 +4952,11 @@ qemuMonitorJSONMakeCPUModel(virCPUDef *cpu, return NULL; } + if (hv_passthrough && + virJSONValueObjectAppendBoolean(props, "hv-passthrough", true) < 0) { + return NULL; + } + if (virJSONValueObjectAppend(model, "props", &props) < 0) return NULL; } @@ -5079,7 +5085,7 @@ qemuMonitorJSONGetCPUModelExpansion(qemuMonitor *mon, *model_info = NULL; - if (!(model = qemuMonitorJSONMakeCPUModel(cpu, migratable))) + if (!(model = qemuMonitorJSONMakeCPUModel(cpu, migratable, false))) return -1; if ((rc = qemuMonitorJSONQueryCPUModelExpansionOne(mon, type, &model, &data)) <= 0) @@ -5128,8 +5134,8 @@ qemuMonitorJSONGetCPUModelBaseline(qemuMonitor *mon, virJSONValue *cpu_props = NULL; const char *cpu_name = ""; - if (!(model_a = qemuMonitorJSONMakeCPUModel(cpu_a, true)) || - !(model_b = qemuMonitorJSONMakeCPUModel(cpu_b, true))) + if (!(model_a = qemuMonitorJSONMakeCPUModel(cpu_a, true, false)) || + !(model_b = qemuMonitorJSONMakeCPUModel(cpu_b, true, false))) return -1; if (!(cmd = qemuMonitorJSONMakeCommand("query-cpu-model-baseline", @@ -5166,8 +5172,8 @@ qemuMonitorJSONGetCPUModelComparison(qemuMonitor *mon, const char *data_result; virJSONValue *data; - if (!(model_a = qemuMonitorJSONMakeCPUModel(cpu_a, true)) || - !(model_b = qemuMonitorJSONMakeCPUModel(cpu_b, true))) + if (!(model_a = qemuMonitorJSONMakeCPUModel(cpu_a, true, false)) || + !(model_b = qemuMonitorJSONMakeCPUModel(cpu_b, true, false))) return -1; if (!(cmd = qemuMonitorJSONMakeCommand("query-cpu-model-comparison", -- 2.38.2

On Thu, Dec 22, 2022 at 14:01:39 +0100, Michal Privoznik wrote:
Apart from setting @migratable prop to the query-cpu-model-expansion command, we will need @hv-passthrough so that we can query for expansion of Hyper-V Enlightenments supported on the current host. The idea is to run:
{ "execute": "query-cpu-model-expansion", "arguments": { "type": "full", "model": { "name": "host", "props": { "hv-passthrough": true } } } }
Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/qemu/qemu_monitor_json.c | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-)
Reviewed-by: Peter Krempa <pkrempa@redhat.com>

This continues and finishes propagation of the @hv_passthrough argument started in the previous commit. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/qemu/qemu_capabilities.c | 8 ++++---- src/qemu/qemu_driver.c | 3 ++- src/qemu/qemu_monitor.c | 5 +++-- src/qemu/qemu_monitor.h | 1 + src/qemu/qemu_monitor_json.c | 3 ++- src/qemu/qemu_monitor_json.h | 1 + tests/cputest.c | 2 +- 7 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index adcd3b21a6..feed510acd 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -3066,15 +3066,15 @@ virQEMUCapsProbeQMPHostCPU(virQEMUCaps *qemuCaps, if (ARCH_IS_S390(qemuCaps->arch)) fail_no_props = false; - if (qemuMonitorGetCPUModelExpansion(mon, type, cpu, true, fail_no_props, - &modelInfo) < 0) + if (qemuMonitorGetCPUModelExpansion(mon, type, cpu, true, false, + fail_no_props, &modelInfo) < 0) return -1; /* Try to check migratability of each feature. */ if (modelInfo && ARCH_IS_X86(qemuCaps->arch) && - qemuMonitorGetCPUModelExpansion(mon, type, cpu, false, fail_no_props, - &nonMigratable) < 0) + qemuMonitorGetCPUModelExpansion(mon, type, cpu, false, false, + fail_no_props, &nonMigratable) < 0) return -1; if (nonMigratable) { diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index d509582719..13ef9285fc 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -12210,7 +12210,8 @@ qemuConnectCPUModelBaseline(virQEMUCaps *qemuCaps, : QEMU_MONITOR_CPU_MODEL_EXPANSION_STATIC; if (qemuMonitorGetCPUModelExpansion(proc->mon, expansion_type, - baseline, true, false, &result) < 0) + baseline, true, + false, false, &result) < 0) return NULL; if (qemuConnectStealCPUModelFromInfo(baseline, &result) < 0) diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index 734364e070..b2e4311ea9 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -3181,6 +3181,7 @@ qemuMonitorGetCPUModelExpansion(qemuMonitor *mon, qemuMonitorCPUModelExpansionType type, virCPUDef *cpu, bool migratable, + bool hv_passthrough, bool fail_no_props, qemuMonitorCPUModelInfo **model_info) { @@ -3189,8 +3190,8 @@ qemuMonitorGetCPUModelExpansion(qemuMonitor *mon, QEMU_CHECK_MONITOR(mon); return qemuMonitorJSONGetCPUModelExpansion(mon, type, cpu, - migratable, fail_no_props, - model_info); + migratable, hv_passthrough, + fail_no_props, model_info); } diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 906a919f52..0d4a52bf4a 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -1140,6 +1140,7 @@ int qemuMonitorGetCPUModelExpansion(qemuMonitor *mon, qemuMonitorCPUModelExpansionType type, virCPUDef *cpu, bool migratable, + bool hv_passthrough, bool fail_no_props, qemuMonitorCPUModelInfo **model_info); diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index f9928b0393..3b96f4e037 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -5072,6 +5072,7 @@ qemuMonitorJSONGetCPUModelExpansion(qemuMonitor *mon, qemuMonitorCPUModelExpansionType type, virCPUDef *cpu, bool migratable, + bool hv_passthrough, bool fail_no_props, qemuMonitorCPUModelInfo **model_info) { @@ -5085,7 +5086,7 @@ qemuMonitorJSONGetCPUModelExpansion(qemuMonitor *mon, *model_info = NULL; - if (!(model = qemuMonitorJSONMakeCPUModel(cpu, migratable, false))) + if (!(model = qemuMonitorJSONMakeCPUModel(cpu, migratable, hv_passthrough))) return -1; if ((rc = qemuMonitorJSONQueryCPUModelExpansionOne(mon, type, &model, &data)) <= 0) diff --git a/src/qemu/qemu_monitor_json.h b/src/qemu/qemu_monitor_json.h index 484cb09830..a86f054b8b 100644 --- a/src/qemu/qemu_monitor_json.h +++ b/src/qemu/qemu_monitor_json.h @@ -449,6 +449,7 @@ qemuMonitorJSONGetCPUModelExpansion(qemuMonitor *mon, qemuMonitorCPUModelExpansionType type, virCPUDef *cpu, bool migratable, + bool hv_passthrough, bool fail_no_props, qemuMonitorCPUModelInfo **model_info) ATTRIBUTE_NONNULL(3) ATTRIBUTE_NONNULL(6); diff --git a/tests/cputest.c b/tests/cputest.c index 52e0022ac3..9b76cce2a8 100644 --- a/tests/cputest.c +++ b/tests/cputest.c @@ -455,7 +455,7 @@ cpuTestMakeQEMUCaps(const struct data *data) if (qemuMonitorGetCPUModelExpansion(qemuMonitorTestGetMonitor(testMon), QEMU_MONITOR_CPU_MODEL_EXPANSION_STATIC, - cpu, true, fail_no_props, &model) < 0) + cpu, true, false, fail_no_props, &model) < 0) return NULL; if (!(qemuCaps = virQEMUCapsNew())) -- 2.38.2

On Thu, Dec 22, 2022 at 14:01:40 +0100, Michal Privoznik wrote:
This continues and finishes propagation of the @hv_passthrough argument started in the previous commit.
Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/qemu/qemu_capabilities.c | 8 ++++---- src/qemu/qemu_driver.c | 3 ++- src/qemu/qemu_monitor.c | 5 +++-- src/qemu/qemu_monitor.h | 1 + src/qemu/qemu_monitor_json.c | 3 ++- src/qemu/qemu_monitor_json.h | 1 + tests/cputest.c | 2 +- 7 files changed, 14 insertions(+), 9 deletions(-)
Reviewed-by: Peter Krempa <pkrempa@redhat.com>

Now that we have qemuMonitorGetCPUModelExpansion() aware of Hyper-V Enlightenments, we can start querying it. Two conditions need to be met: 1) KVM is in use, 2) Arch is either x86 or arm. It may look like modifying the first call to qemuMonitorGetCPUModelExpansion() inside of virQEMUCapsProbeQMPHostCPU() would be sufficient but it is not. We really need to ask QEMU for full expansion and the first call does not guarantee that. For the test data, I've just copied whatever 'query-cpu-model-expansion' returned earlier, therefore there are no hv-* props. But that's okay - the full expansion is not stored in cache (and thus not formatted in tests/qemucapabilitiesdata/caps_*.replies files either). This is purely runtime thing. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/qemu/qemu_capabilities.c | 19 + .../caps_4.2.0.aarch64.replies | 45 +++ .../caps_4.2.0.x86_64.replies | 317 ++++++++++++++++ .../caps_5.0.0.aarch64.replies | 46 +++ .../caps_5.0.0.x86_64.replies | 318 ++++++++++++++++ .../caps_5.1.0.x86_64.replies | 323 ++++++++++++++++ .../caps_5.2.0.aarch64.replies | 47 +++ .../caps_5.2.0.x86_64.replies | 324 ++++++++++++++++ .../caps_6.0.0.aarch64.replies | 47 +++ .../caps_6.0.0.x86_64.replies | 336 +++++++++++++++++ .../caps_6.1.0.x86_64.replies | 338 +++++++++++++++++ .../caps_6.2.0.aarch64.replies | 47 +++ .../caps_6.2.0.x86_64.replies | 348 +++++++++++++++++ .../caps_7.0.0.aarch64.replies | 48 +++ .../caps_7.0.0.x86_64.replies | 352 +++++++++++++++++ .../caps_7.1.0.x86_64.replies | 353 ++++++++++++++++++ .../caps_7.2.0.x86_64.replies | 353 ++++++++++++++++++ 17 files changed, 3661 insertions(+) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index feed510acd..fd09d52b6d 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -711,6 +711,9 @@ struct _virQEMUCapsHostCPUData { * combined with features reported by QEMU. This is used for backward * compatible comparison between a guest CPU and a host CPU. */ virCPUDef *full; + /* Full CPU definition expanded by QEMU, including Hyper-V Enlightenments. + */ + qemuMonitorCPUModelInfo *fullQEMU; }; typedef struct _virQEMUCapsAccel virQEMUCapsAccel; @@ -1854,6 +1857,10 @@ virQEMUCapsHostCPUDataCopy(virQEMUCapsHostCPUData *dst, !(dst->full = virCPUDefCopy(src->full))) return -1; + if (src->fullQEMU && + !(dst->fullQEMU = qemuMonitorCPUModelInfoCopy(src->fullQEMU))) + return -1; + return 0; } @@ -1865,6 +1872,7 @@ virQEMUCapsHostCPUDataClear(virQEMUCapsHostCPUData *cpuData) virCPUDefFree(cpuData->reported); virCPUDefFree(cpuData->migratable); virCPUDefFree(cpuData->full); + qemuMonitorCPUModelInfoFree(cpuData->fullQEMU); memset(cpuData, 0, sizeof(*cpuData)); } @@ -3109,6 +3117,17 @@ virQEMUCapsProbeQMPHostCPU(virQEMUCaps *qemuCaps, modelInfo->migratability = true; } + if (virQEMUCapsTypeIsAccelerated(virtType) && + (ARCH_IS_X86(qemuCaps->arch) || ARCH_IS_ARM(qemuCaps->arch))) { + g_autoptr(qemuMonitorCPUModelInfo) fullQEMU = NULL; + + if (qemuMonitorGetCPUModelExpansion(mon, QEMU_MONITOR_CPU_MODEL_EXPANSION_FULL, + cpu, false, true, true, &fullQEMU) < 0) + return -1; + + accel->hostCPU.fullQEMU = g_steal_pointer(&fullQEMU); + } + accel->hostCPU.info = g_steal_pointer(&modelInfo); return 0; } diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.replies b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.replies index f947ce9aee..f8619d8843 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.replies +++ b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.replies @@ -21525,6 +21525,51 @@ "id": "libvirt-42" } +{ + "execute": "query-cpu-model-expansion", + "arguments": { + "type": "full", + "model": { + "name": "host", + "props": { + "migratable": false, + "hv-passthrough": true + } + } + }, + "id": "libvirt-43" +} + +{ + "return": { + "model": { + "name": "host", + "props": { + "sve768": false, + "sve128": true, + "sve1024": false, + "sve1280": false, + "sve896": false, + "sve256": true, + "sve1536": false, + "sve1792": false, + "sve384": false, + "sve": true, + "sve2048": false, + "sve512": true, + "aarch64": true, + "pmu": true, + "sve1920": false, + "sve1152": false, + "sve640": false, + "sve1408": false, + "sve1664": false + } + } + }, + "id": "libvirt-43" +} + { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.replies index 12ebc41e49..a45fd2f669 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.replies @@ -24185,6 +24185,323 @@ "id": "libvirt-47" } +{ + "execute": "query-cpu-model-expansion", + "arguments": { + "type": "full", + "model": { + "name": "host", + "props": { + "migratable": false, + "hv-passthrough": true + } + } + }, + "id": "libvirt-48" +} + +{ + "return": { + "model": { + "name": "base", + "props": { + "vmx-entry-load-rtit-ctl": false, + "cmov": true, + "ia64": false, + "ssb-no": false, + "aes": true, + "vmx-apicv-xapic": true, + "mmx": true, + "rdpid": false, + "arat": true, + "vmx-page-walk-4": true, + "vmx-page-walk-5": false, + "gfni": false, + "ibrs-all": false, + "vmx-desc-exit": true, + "pause-filter": false, + "xsavec": true, + "intel-pt": false, + "vmx-cr8-store-exit": true, + "vmx-rdseed-exit": true, + "vmx-eptp-switching": true, + "kvm-asyncpf": true, + "perfctr-core": false, + "mpx": true, + "pbe": false, + "avx512cd": false, + "decodeassists": false, + "vmx-exit-load-efer": true, + "vmx-exit-clear-bndcfgs": false, + "sse4.1": true, + "family": 6, + "vmx-vmwrite-vmexit-fields": true, + "vmx-vnmi": true, + "vmx-true-ctls": true, + "vmx-ept-execonly": true, + "vmx-exit-save-efer": true, + "vmx-invept-all-context": true, + "wbnoinvd": false, + "avx512f": false, + "msr": true, + "mce": true, + "mca": true, + "xcrypt": false, + "vmx-exit-load-pat": true, + "vmx-intr-exit": true, + "min-level": 22, + "vmx-flexpriority": true, + "xgetbv1": true, + "cid": false, + "ds": false, + "fxsr": true, + "avx512-bf16": false, + "vmx-cr8-load-exit": true, + "xsaveopt": true, + "vmx-apicv-vid": false, + "vmx-exit-save-pat": true, + "xtpr": false, + "tsx-ctrl": false, + "vmx-ple": false, + "avx512vl": false, + "avx512-vpopcntdq": false, + "phe": false, + "extapic": false, + "3dnowprefetch": true, + "vmx-vmfunc": true, + "vmx-activity-shutdown": false, + "avx512vbmi2": false, + "cr8legacy": false, + "vmx-encls-exit": false, + "stibp": true, + "vmx-msr-bitmap": true, + "xcrypt-en": false, + "vmx-mwait-exit": true, + "vmx-pml": true, + "vmx-nmi-exit": true, + "vmx-invept-single-context-noglobals": true, + "pn": false, + "rsba": false, + "dca": false, + "vendor": "GenuineIntel", + "vmx-unrestricted-guest": true, + "vmx-cr3-store-noexit": true, + "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, + "vmx-invvpid": true, + "clwb": false, + "lbrv": false, + "adx": true, + "ss": true, + "pni": true, + "svm-lock": false, + "smep": true, + "smap": true, + "pfthreshold": false, + "vmx-invpcid-exit": true, + "x2apic": true, + "avx512vbmi": false, + "avx512vnni": false, + "vmx-apicv-x2apic": true, + "kvm-pv-sched-yield": true, + "vmx-invlpg-exit": true, + "vmx-invvpid-all-context": true, + "vmx-activity-hlt": true, + "flushbyasid": false, + "f16c": true, + "vmx-exit-ack-intr": true, + "ace2-en": false, + "pae": true, + "pat": true, + "sse": true, + "phe-en": false, + "vmx-tsc-offset": true, + "kvm-nopiodelay": true, + "tm": false, + "kvmclock-stable-bit": true, + "vmx-rdtsc-exit": true, + "hypervisor": true, + "vmx-rdtscp-exit": true, + "mds-no": false, + "pcommit": false, + "vmx-vpid": true, + "syscall": true, + "avx512dq": false, + "svm": false, + "invtsc": true, + "vmx-monitor-exit": true, + "sse2": true, + "ssbd": true, + "vmx-wbinvd-exit": true, + "est": false, + "kvm-poll-control": true, + "avx512ifma": false, + "tm2": false, + "kvm-pv-eoi": true, + "kvm-pv-ipi": true, + "cx8": true, + "vmx-invvpid-single-addr": true, + "waitpkg": false, + "cldemote": false, + "vmx-ept": true, + "kvm-mmu": false, + "sse4.2": true, + "pge": true, + "avx512bitalg": false, + "pdcm": false, + "vmx-entry-load-bndcfgs": false, + "vmx-exit-clear-rtit-ctl": false, + "model": 94, + "movbe": true, + "nrip-save": false, + "ssse3": true, + "sse4a": false, + "vmx-pause-exit": true, + "invpcid": true, + "pdpe1gb": true, + "tsc-deadline": true, + "skip-l1dfl-vmentry": true, + "vmx-exit-load-perf-global-ctrl": false, + "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, + "vmx-exit-nosave-debugctl": true, + "la57": false, + "vmx-invept": true, + "osvw": false, + "apic": true, + "pmm": false, + "vmx-entry-noload-debugctl": true, + "vmx-eptad": true, + "spec-ctrl": true, + "vmx-posted-intr": false, + "vmx-apicv-register": false, + "tsc-adjust": true, + "kvm-steal-time": true, + "kvmclock": true, + "vmx-zero-len-inject": false, + "pschange-mc-no": true, + "vmx-rdrand-exit": true, + "lwp": false, + "amd-ssbd": false, + "xop": false, + "ibpb": false, + "avx": true, + "core-capability": false, + "vmx-invept-single-context": true, + "movdiri": false, + "acpi": false, + "avx512bw": false, + "ace2": false, + "fsgsbase": true, + "vmx-ept-2mb": true, + "vmx-ept-1gb": true, + "ht": false, + "vmx-io-exit": true, + "nx": true, + "pclmulqdq": true, + "mmxext": false, + "popcnt": true, + "vaes": false, + "movdir64b": false, + "xsaves": true, + "vmx-shadow-vmcs": true, + "lm": true, + "vmx-exit-save-preemption-timer": true, + "vmx-entry-load-pat": true, + "vmx-entry-load-perf-global-ctrl": false, + "vmx-io-bitmap": true, + "umip": true, + "vmx-store-lma": true, + "vmx-movdr-exit": true, + "pse": true, + "avx2": true, + "sep": true, + "virt-ssbd": false, + "vmx-cr3-load-noexit": true, + "nodeid-msr": false, + "md-clear": true, + "misalignsse": false, + "split-lock-detect": false, + "min-xlevel": 2147483656, + "bmi1": true, + "bmi2": true, + "kvm-pv-unhalt": true, + "tsc-scale": false, + "topoext": false, + "vmx-preemption-timer": true, + "clflushopt": true, + "vmx-vnmi-pending": true, + "monitor": false, + "vmx-vintr-pending": true, + "avx512er": false, + "pmm-en": false, + "pcid": true, + "taa-no": false, + "arch-capabilities": true, + "vmx-secondary-ctls": true, + "vmx-xsaves": true, + "clzero": false, + "3dnow": false, + "erms": true, + "vmx-entry-ia32e-mode": true, + "lahf-lm": true, + "vpclmulqdq": false, + "vmx-ins-outs": true, + "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, + "xsaveerptr": false, + "pse36": true, + "kvm-pv-tlb-flush": true, + "vmx-activity-wait-sipi": false, + "tbm": false, + "wdt": false, + "vmx-rdpmc-exit": true, + "vmx-mtf": true, + "vmx-entry-load-efer": true, + "model-id": "Intel(R) Xeon(R) CPU E3-1245 v5 @ 3.50GHz", + "sha-ni": false, + "abm": true, + "vmx-ept-advanced-exitinfo": false, + "avx512pf": false, + "vmx-hlt-exit": true, + "xstore-en": false + } + } + }, + "id": "libvirt-48" +} + { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.replies b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.replies index 9f7d3da252..e63c9d5f0a 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.replies +++ b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.replies @@ -22879,6 +22879,52 @@ "id": "libvirt-43" } +{ + "execute": "query-cpu-model-expansion", + "arguments": { + "type": "full", + "model": { + "name": "host", + "props": { + "migratable": false, + "hv-passthrough": true + } + } + }, + "id": "libvirt-44" +} + +{ + "return": { + "model": { + "name": "host", + "props": { + "sve768": false, + "sve128": false, + "sve1024": false, + "sve1280": false, + "sve896": false, + "sve256": false, + "sve1536": false, + "sve1792": false, + "sve384": false, + "sve": false, + "sve2048": false, + "kvm-no-adjvtime": false, + "sve512": false, + "aarch64": true, + "pmu": true, + "sve1920": false, + "sve1152": false, + "sve640": false, + "sve1408": false, + "sve1664": false + } + } + }, + "id": "libvirt-44" +} + { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.replies index 81cfc70dc4..13b9b02e4c 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.replies @@ -25639,6 +25639,324 @@ "id": "libvirt-48" } +{ + "execute": "query-cpu-model-expansion", + "arguments": { + "type": "full", + "model": { + "name": "host", + "props": { + "migratable": false, + "hv-passthrough": true + } + } + }, + "id": "libvirt-49" +} + +{ + "return": { + "model": { + "name": "base", + "props": { + "vmx-entry-load-rtit-ctl": false, + "cmov": true, + "ia64": false, + "ssb-no": false, + "aes": true, + "vmx-apicv-xapic": true, + "mmx": true, + "rdpid": false, + "arat": true, + "vmx-page-walk-4": true, + "vmx-page-walk-5": false, + "gfni": false, + "ibrs-all": false, + "vmx-desc-exit": true, + "pause-filter": false, + "xsavec": true, + "intel-pt": false, + "vmx-cr8-store-exit": true, + "vmx-rdseed-exit": true, + "vmx-eptp-switching": true, + "kvm-asyncpf": true, + "perfctr-core": false, + "mpx": true, + "pbe": false, + "avx512cd": false, + "decodeassists": false, + "vmx-exit-load-efer": true, + "vmx-exit-clear-bndcfgs": false, + "sse4.1": true, + "family": 6, + "vmx-vmwrite-vmexit-fields": true, + "vmx-vnmi": true, + "vmx-true-ctls": true, + "vmx-ept-execonly": true, + "vmx-exit-save-efer": true, + "vmx-invept-all-context": true, + "wbnoinvd": false, + "avx512f": false, + "msr": true, + "mce": true, + "mca": true, + "xcrypt": false, + "vmx-exit-load-pat": true, + "vmx-intr-exit": true, + "min-level": 22, + "vmx-flexpriority": true, + "xgetbv1": true, + "cid": false, + "ds": false, + "fxsr": true, + "avx512-bf16": false, + "vmx-cr8-load-exit": true, + "xsaveopt": true, + "vmx-apicv-vid": false, + "vmx-exit-save-pat": true, + "xtpr": false, + "tsx-ctrl": false, + "vmx-ple": false, + "avx512vl": false, + "avx512-vpopcntdq": false, + "phe": false, + "extapic": false, + "3dnowprefetch": true, + "vmx-vmfunc": true, + "vmx-activity-shutdown": false, + "avx512vbmi2": false, + "cr8legacy": false, + "vmx-encls-exit": false, + "stibp": true, + "vmx-msr-bitmap": true, + "xcrypt-en": false, + "vmx-mwait-exit": true, + "vmx-pml": true, + "vmx-nmi-exit": true, + "vmx-invept-single-context-noglobals": true, + "pn": false, + "rsba": false, + "dca": false, + "vendor": "GenuineIntel", + "vmx-unrestricted-guest": true, + "vmx-cr3-store-noexit": true, + "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, + "vmx-invvpid": true, + "clwb": false, + "lbrv": false, + "adx": true, + "ss": true, + "pni": true, + "svm-lock": false, + "smep": true, + "smap": true, + "pfthreshold": false, + "vmx-invpcid-exit": true, + "x2apic": true, + "avx512vbmi": false, + "avx512vnni": false, + "vmx-apicv-x2apic": true, + "kvm-pv-sched-yield": true, + "vmx-invlpg-exit": true, + "vmx-invvpid-all-context": true, + "vmx-activity-hlt": true, + "flushbyasid": false, + "f16c": true, + "vmx-exit-ack-intr": true, + "ace2-en": false, + "pae": true, + "pat": true, + "sse": true, + "phe-en": false, + "vmx-tsc-offset": true, + "kvm-nopiodelay": true, + "tm": false, + "kvmclock-stable-bit": true, + "vmx-rdtsc-exit": true, + "hypervisor": true, + "vmx-rdtscp-exit": true, + "mds-no": false, + "pcommit": false, + "vmx-vpid": true, + "syscall": true, + "avx512dq": false, + "svm": false, + "invtsc": true, + "vmx-monitor-exit": true, + "sse2": true, + "ssbd": true, + "vmx-wbinvd-exit": true, + "est": false, + "kvm-poll-control": true, + "avx512ifma": false, + "tm2": false, + "kvm-pv-eoi": true, + "kvm-pv-ipi": true, + "cx8": true, + "vmx-invvpid-single-addr": true, + "waitpkg": false, + "cldemote": false, + "vmx-ept": true, + "kvm-mmu": false, + "sse4.2": true, + "pge": true, + "avx512bitalg": false, + "pdcm": false, + "vmx-entry-load-bndcfgs": false, + "vmx-exit-clear-rtit-ctl": false, + "model": 94, + "movbe": true, + "nrip-save": false, + "ssse3": true, + "sse4a": false, + "vmx-pause-exit": true, + "invpcid": true, + "pdpe1gb": true, + "tsc-deadline": true, + "skip-l1dfl-vmentry": true, + "vmx-exit-load-perf-global-ctrl": false, + "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, + "vmx-exit-nosave-debugctl": true, + "la57": false, + "vmx-invept": true, + "osvw": false, + "apic": true, + "pmm": false, + "vmx-entry-noload-debugctl": true, + "vmx-eptad": true, + "spec-ctrl": true, + "vmx-posted-intr": false, + "vmx-apicv-register": false, + "tsc-adjust": true, + "kvm-steal-time": true, + "kvmclock": true, + "vmx-zero-len-inject": false, + "pschange-mc-no": true, + "vmx-rdrand-exit": true, + "lwp": false, + "amd-ssbd": false, + "xop": false, + "ibpb": false, + "avx": true, + "core-capability": false, + "vmx-invept-single-context": true, + "movdiri": false, + "acpi": false, + "avx512bw": false, + "ace2": false, + "fsgsbase": true, + "vmx-ept-2mb": true, + "vmx-ept-1gb": true, + "ht": false, + "vmx-io-exit": true, + "nx": true, + "pclmulqdq": true, + "mmxext": false, + "popcnt": true, + "vaes": false, + "movdir64b": false, + "xsaves": true, + "vmx-shadow-vmcs": true, + "lm": true, + "vmx-exit-save-preemption-timer": true, + "vmx-entry-load-pat": true, + "vmx-entry-load-perf-global-ctrl": false, + "vmx-io-bitmap": true, + "umip": true, + "vmx-store-lma": true, + "vmx-movdr-exit": true, + "pse": true, + "avx2": true, + "sep": true, + "virt-ssbd": false, + "vmx-cr3-load-noexit": true, + "nodeid-msr": false, + "md-clear": true, + "misalignsse": false, + "split-lock-detect": false, + "min-xlevel": 2147483656, + "bmi1": true, + "bmi2": true, + "kvm-pv-unhalt": true, + "tsc-scale": false, + "topoext": false, + "amd-stibp": false, + "vmx-preemption-timer": true, + "clflushopt": true, + "vmx-vnmi-pending": true, + "monitor": false, + "vmx-vintr-pending": true, + "avx512er": false, + "pmm-en": false, + "pcid": true, + "taa-no": false, + "arch-capabilities": true, + "vmx-secondary-ctls": true, + "vmx-xsaves": true, + "clzero": false, + "3dnow": false, + "erms": true, + "vmx-entry-ia32e-mode": true, + "lahf-lm": true, + "vpclmulqdq": false, + "vmx-ins-outs": true, + "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, + "xsaveerptr": false, + "pse36": true, + "kvm-pv-tlb-flush": true, + "vmx-activity-wait-sipi": false, + "tbm": false, + "wdt": false, + "vmx-rdpmc-exit": true, + "vmx-mtf": true, + "vmx-entry-load-efer": true, + "model-id": "Intel(R) Xeon(R) CPU E3-1245 v5 @ 3.50GHz", + "sha-ni": false, + "abm": true, + "vmx-ept-advanced-exitinfo": false, + "avx512pf": false, + "vmx-hlt-exit": true, + "xstore-en": false + } + } + }, + "id": "libvirt-49" +} + { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.replies index 51e93819b0..d66583fa92 100644 --- a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.replies @@ -26601,6 +26601,329 @@ "id": "libvirt-49" } +{ + "execute": "query-cpu-model-expansion", + "arguments": { + "type": "full", + "model": { + "name": "host", + "props": { + "migratable": false, + "hv-passthrough": true + } + } + }, + "id": "libvirt-50" +} + +{ + "return": { + "model": { + "name": "base", + "props": { + "vmx-entry-load-rtit-ctl": false, + "cmov": true, + "ia64": false, + "ssb-no": false, + "aes": true, + "vmx-apicv-xapic": false, + "mmx": true, + "rdpid": true, + "arat": true, + "vmx-page-walk-4": false, + "vmx-page-walk-5": false, + "gfni": false, + "ibrs-all": false, + "vmx-desc-exit": false, + "pause-filter": false, + "xsavec": true, + "intel-pt": false, + "vmx-cr8-store-exit": false, + "vmx-rdseed-exit": false, + "vmx-eptp-switching": false, + "kvm-asyncpf": true, + "perfctr-core": true, + "mpx": false, + "pbe": false, + "avx512cd": false, + "decodeassists": false, + "vmx-exit-load-efer": false, + "vmx-exit-clear-bndcfgs": false, + "sse4.1": true, + "family": 23, + "vmx-vmwrite-vmexit-fields": false, + "vmx-vnmi": false, + "vmx-true-ctls": false, + "vmx-ept-execonly": false, + "vmx-exit-save-efer": false, + "vmx-invept-all-context": false, + "wbnoinvd": true, + "avx512f": false, + "msr": true, + "mce": true, + "mca": true, + "xcrypt": false, + "vmx-exit-load-pat": false, + "vmx-intr-exit": false, + "min-level": 16, + "vmx-flexpriority": false, + "xgetbv1": true, + "cid": false, + "ds": false, + "fxsr": true, + "avx512-bf16": false, + "vmx-cr8-load-exit": false, + "xsaveopt": true, + "vmx-apicv-vid": false, + "vmx-exit-save-pat": false, + "xtpr": false, + "tsx-ctrl": false, + "vmx-ple": false, + "avx512vl": false, + "avx512-vpopcntdq": false, + "phe": false, + "extapic": false, + "3dnowprefetch": true, + "vmx-vmfunc": false, + "vmx-activity-shutdown": false, + "avx512vbmi2": false, + "cr8legacy": true, + "vmx-encls-exit": false, + "stibp": true, + "vmx-msr-bitmap": false, + "xcrypt-en": false, + "vmx-mwait-exit": false, + "vmx-pml": false, + "vmx-nmi-exit": false, + "vmx-invept-single-context-noglobals": false, + "pn": false, + "rsba": false, + "dca": false, + "vendor": "AuthenticAMD", + "vmx-unrestricted-guest": false, + "vmx-cr3-store-noexit": false, + "pku": false, + "smx": false, + "cmp-legacy": true, + "avx512-4fmaps": false, + "vmcb-clean": false, + "hle": false, + "3dnowext": false, + "amd-no-ssb": false, + "npt": true, + "rdctl-no": true, + "vmx-invvpid": false, + "clwb": true, + "lbrv": false, + "adx": true, + "ss": false, + "pni": true, + "tsx-ldtrk": false, + "svm-lock": false, + "smep": true, + "smap": true, + "pfthreshold": false, + "vmx-invpcid-exit": false, + "x2apic": true, + "avx512vbmi": false, + "avx512vnni": false, + "vmx-apicv-x2apic": false, + "kvm-pv-sched-yield": true, + "vmx-invlpg-exit": false, + "vmx-invvpid-all-context": false, + "vmx-activity-hlt": false, + "flushbyasid": false, + "f16c": true, + "vmx-exit-ack-intr": false, + "ace2-en": false, + "pae": true, + "pat": true, + "sse": true, + "phe-en": false, + "vmx-tsc-offset": false, + "kvm-nopiodelay": true, + "tm": false, + "kvmclock-stable-bit": true, + "vmx-rdtsc-exit": false, + "hypervisor": true, + "vmx-rdtscp-exit": false, + "mds-no": true, + "pcommit": false, + "vmx-vpid": false, + "syscall": true, + "avx512dq": false, + "svm": true, + "invtsc": true, + "vmx-monitor-exit": false, + "sse2": true, + "ssbd": true, + "vmx-wbinvd-exit": false, + "est": false, + "kvm-poll-control": true, + "avx512ifma": false, + "tm2": false, + "kvm-pv-eoi": true, + "kvm-pv-ipi": true, + "cx8": true, + "vmx-invvpid-single-addr": false, + "waitpkg": false, + "cldemote": false, + "vmx-ept": false, + "kvm-mmu": false, + "sse4.2": true, + "pge": true, + "avx512bitalg": false, + "pdcm": false, + "vmx-entry-load-bndcfgs": false, + "vmx-exit-clear-rtit-ctl": false, + "model": 113, + "movbe": true, + "nrip-save": true, + "ssse3": true, + "sse4a": true, + "vmx-pause-exit": false, + "invpcid": false, + "pdpe1gb": true, + "tsc-deadline": true, + "skip-l1dfl-vmentry": true, + "vmx-exit-load-perf-global-ctrl": false, + "fma": true, + "cx16": true, + "de": true, + "stepping": 0, + "xsave": true, + "clflush": true, + "skinit": false, + "tsc": true, + "tce": false, + "fpu": true, + "ds-cpl": false, + "ibs": false, + "fma4": false, + "vmx-exit-nosave-debugctl": false, + "la57": false, + "vmx-invept": false, + "osvw": true, + "apic": true, + "pmm": false, + "vmx-entry-noload-debugctl": false, + "vmx-eptad": false, + "spec-ctrl": false, + "vmx-posted-intr": false, + "vmx-apicv-register": false, + "tsc-adjust": true, + "kvm-steal-time": true, + "avx512-vp2intersect": false, + "kvmclock": true, + "vmx-zero-len-inject": false, + "pschange-mc-no": true, + "vmx-rdrand-exit": false, + "lwp": false, + "amd-ssbd": true, + "xop": false, + "ibpb": true, + "avx": true, + "core-capability": false, + "vmx-invept-single-context": false, + "movdiri": false, + "acpi": false, + "avx512bw": false, + "ace2": false, + "fsgsbase": true, + "vmx-ept-2mb": false, + "vmx-ept-1gb": false, + "ht": false, + "vmx-io-exit": false, + "nx": true, + "pclmulqdq": true, + "mmxext": true, + "popcnt": true, + "vaes": false, + "serialize": false, + "movdir64b": false, + "xsaves": true, + "vmx-shadow-vmcs": false, + "lm": true, + "vmx-exit-save-preemption-timer": false, + "vmx-entry-load-pat": false, + "fsrm": false, + "vmx-entry-load-perf-global-ctrl": false, + "vmx-io-bitmap": false, + "umip": true, + "vmx-store-lma": false, + "vmx-movdr-exit": false, + "pse": true, + "avx2": true, + "sep": true, + "virt-ssbd": true, + "vmx-cr3-load-noexit": false, + "nodeid-msr": false, + "md-clear": false, + "misalignsse": true, + "split-lock-detect": false, + "min-xlevel": 2147483679, + "bmi1": true, + "bmi2": true, + "kvm-pv-unhalt": true, + "tsc-scale": false, + "topoext": false, + "amd-stibp": true, + "vmx-preemption-timer": false, + "clflushopt": true, + "vmx-vnmi-pending": false, + "monitor": false, + "vmx-vintr-pending": false, + "avx512er": false, + "full-width-write": false, + "pmm-en": false, + "pcid": false, + "taa-no": false, + "arch-capabilities": true, + "vmx-secondary-ctls": false, + "vmx-xsaves": false, + "clzero": true, + "3dnow": false, + "erms": false, + "vmx-entry-ia32e-mode": false, + "lahf-lm": true, + "vpclmulqdq": false, + "vmx-ins-outs": false, + "fxsr-opt": true, + "xstore": false, + "rtm": false, + "kvm-hint-dedicated": false, + "lmce": false, + "perfctr-nb": false, + "rdrand": true, + "rdseed": true, + "avx512-4vnniw": false, + "vme": true, + "vmx": false, + "dtes64": false, + "mtrr": true, + "rdtscp": true, + "xsaveerptr": true, + "pse36": true, + "kvm-pv-tlb-flush": true, + "vmx-activity-wait-sipi": false, + "tbm": false, + "wdt": false, + "vmx-rdpmc-exit": false, + "vmx-mtf": false, + "vmx-entry-load-efer": false, + "model-id": "AMD Ryzen 9 3900X 12-Core Processor ", + "sha-ni": true, + "abm": true, + "vmx-ept-advanced-exitinfo": false, + "avx512pf": false, + "vmx-hlt-exit": false, + "xstore-en": false + } + } + }, + "id": "libvirt-50" +} + { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.replies b/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.replies index fc92caae54..8c78533719 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.replies +++ b/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.replies @@ -24366,6 +24366,53 @@ "id": "libvirt-44" } +{ + "execute": "query-cpu-model-expansion", + "arguments": { + "type": "full", + "model": { + "name": "host", + "props": { + "migratable": false, + "hv-passthrough": true + } + } + }, + "id": "libvirt-45" +} + +{ + "return": { + "model": { + "name": "host", + "props": { + "sve768": false, + "sve128": false, + "sve1024": false, + "sve1280": false, + "sve896": false, + "sve256": false, + "sve1536": false, + "sve1792": false, + "sve384": false, + "sve": false, + "sve2048": false, + "kvm-no-adjvtime": false, + "sve512": false, + "aarch64": true, + "pmu": true, + "sve1920": false, + "sve1152": false, + "kvm-steal-time": false, + "sve640": false, + "sve1408": false, + "sve1664": false + } + } + }, + "id": "libvirt-45" +} + { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.replies index 7e96c37f80..f224bd2fee 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.replies @@ -27391,6 +27391,330 @@ "id": "libvirt-49" } +{ + "execute": "query-cpu-model-expansion", + "arguments": { + "type": "full", + "model": { + "name": "host", + "props": { + "migratable": false, + "hv-passthrough": true + } + } + }, + "id": "libvirt-50" +} + +{ + "return": { + "model": { + "name": "base", + "props": { + "vmx-entry-load-rtit-ctl": false, + "cmov": true, + "ia64": false, + "ssb-no": false, + "aes": true, + "vmx-apicv-xapic": false, + "mmx": true, + "rdpid": true, + "arat": true, + "vmx-page-walk-4": false, + "vmx-page-walk-5": false, + "gfni": false, + "ibrs-all": false, + "vmx-desc-exit": false, + "pause-filter": false, + "xsavec": true, + "intel-pt": false, + "vmx-cr8-store-exit": false, + "vmx-rdseed-exit": false, + "vmx-eptp-switching": false, + "kvm-asyncpf": true, + "perfctr-core": true, + "mpx": false, + "pbe": false, + "avx512cd": false, + "decodeassists": false, + "vmx-exit-load-efer": false, + "vmx-exit-clear-bndcfgs": false, + "sse4.1": true, + "family": 23, + "vmx-vmwrite-vmexit-fields": false, + "kvm-asyncpf-int": true, + "vmx-vnmi": false, + "vmx-true-ctls": false, + "vmx-ept-execonly": false, + "vmx-exit-save-efer": false, + "vmx-invept-all-context": false, + "wbnoinvd": true, + "avx512f": false, + "msr": true, + "mce": true, + "mca": true, + "xcrypt": false, + "vmx-exit-load-pat": false, + "vmx-intr-exit": false, + "min-level": 16, + "vmx-flexpriority": false, + "xgetbv1": true, + "cid": false, + "ds": false, + "fxsr": true, + "avx512-bf16": false, + "vmx-cr8-load-exit": false, + "xsaveopt": true, + "vmx-apicv-vid": false, + "vmx-exit-save-pat": false, + "xtpr": false, + "tsx-ctrl": false, + "vmx-ple": false, + "avx512vl": false, + "avx512-vpopcntdq": false, + "phe": false, + "extapic": false, + "3dnowprefetch": true, + "vmx-vmfunc": false, + "vmx-activity-shutdown": false, + "avx512vbmi2": false, + "cr8legacy": true, + "vmx-encls-exit": false, + "stibp": true, + "vmx-msr-bitmap": false, + "xcrypt-en": false, + "vmx-mwait-exit": false, + "vmx-pml": false, + "vmx-nmi-exit": false, + "vmx-invept-single-context-noglobals": false, + "pn": false, + "rsba": false, + "dca": false, + "vendor": "AuthenticAMD", + "vmx-unrestricted-guest": false, + "vmx-cr3-store-noexit": false, + "pku": false, + "smx": false, + "cmp-legacy": true, + "avx512-4fmaps": false, + "vmcb-clean": false, + "hle": false, + "3dnowext": false, + "amd-no-ssb": false, + "npt": true, + "rdctl-no": true, + "vmx-invvpid": false, + "clwb": true, + "lbrv": false, + "adx": true, + "ss": false, + "pni": true, + "tsx-ldtrk": false, + "svm-lock": false, + "smep": true, + "smap": true, + "pfthreshold": false, + "vmx-invpcid-exit": false, + "x2apic": true, + "avx512vbmi": false, + "avx512vnni": false, + "vmx-apicv-x2apic": false, + "kvm-pv-sched-yield": true, + "vmx-invlpg-exit": false, + "vmx-invvpid-all-context": false, + "vmx-activity-hlt": false, + "flushbyasid": false, + "f16c": true, + "vmx-exit-ack-intr": false, + "ace2-en": false, + "pae": true, + "pat": true, + "sse": true, + "phe-en": false, + "vmx-tsc-offset": false, + "kvm-nopiodelay": true, + "tm": false, + "kvmclock-stable-bit": true, + "vmx-rdtsc-exit": false, + "hypervisor": true, + "vmx-rdtscp-exit": false, + "mds-no": true, + "pcommit": false, + "vmx-vpid": false, + "syscall": true, + "avx512dq": false, + "svm": true, + "invtsc": true, + "vmx-monitor-exit": false, + "sse2": true, + "ssbd": true, + "vmx-wbinvd-exit": false, + "est": false, + "kvm-poll-control": true, + "avx512ifma": false, + "tm2": false, + "kvm-pv-eoi": true, + "kvm-pv-ipi": true, + "cx8": true, + "vmx-invvpid-single-addr": false, + "waitpkg": false, + "cldemote": false, + "vmx-ept": false, + "kvm-mmu": false, + "sse4.2": true, + "pge": true, + "avx512bitalg": false, + "pdcm": false, + "vmx-entry-load-bndcfgs": false, + "vmx-exit-clear-rtit-ctl": false, + "model": 113, + "movbe": true, + "nrip-save": true, + "ssse3": true, + "sse4a": true, + "vmx-pause-exit": false, + "invpcid": false, + "pdpe1gb": true, + "tsc-deadline": true, + "skip-l1dfl-vmentry": true, + "vmx-exit-load-perf-global-ctrl": false, + "fma": true, + "cx16": true, + "de": true, + "stepping": 0, + "xsave": true, + "clflush": true, + "skinit": false, + "tsc": true, + "tce": false, + "fpu": true, + "ds-cpl": false, + "ibs": false, + "fma4": false, + "vmx-exit-nosave-debugctl": false, + "la57": false, + "vmx-invept": false, + "osvw": true, + "apic": true, + "pmm": false, + "vmx-entry-noload-debugctl": false, + "vmx-eptad": false, + "spec-ctrl": false, + "vmx-posted-intr": false, + "vmx-apicv-register": false, + "tsc-adjust": true, + "kvm-steal-time": true, + "avx512-vp2intersect": false, + "kvmclock": true, + "vmx-zero-len-inject": false, + "pschange-mc-no": true, + "vmx-rdrand-exit": false, + "lwp": false, + "amd-ssbd": true, + "xop": false, + "ibpb": true, + "avx": true, + "core-capability": false, + "vmx-invept-single-context": false, + "movdiri": false, + "acpi": false, + "avx512bw": false, + "ace2": false, + "fsgsbase": true, + "vmx-ept-2mb": false, + "vmx-ept-1gb": false, + "ht": false, + "vmx-io-exit": false, + "nx": true, + "pclmulqdq": true, + "mmxext": true, + "popcnt": true, + "vaes": false, + "serialize": false, + "movdir64b": false, + "xsaves": true, + "vmx-shadow-vmcs": false, + "lm": true, + "vmx-exit-save-preemption-timer": false, + "vmx-entry-load-pat": false, + "fsrm": false, + "vmx-entry-load-perf-global-ctrl": false, + "vmx-io-bitmap": false, + "umip": true, + "vmx-store-lma": false, + "vmx-movdr-exit": false, + "pse": true, + "avx2": true, + "sep": true, + "virt-ssbd": true, + "vmx-cr3-load-noexit": false, + "nodeid-msr": false, + "md-clear": false, + "misalignsse": true, + "split-lock-detect": false, + "min-xlevel": 2147483679, + "bmi1": true, + "bmi2": true, + "kvm-pv-unhalt": true, + "tsc-scale": false, + "topoext": false, + "amd-stibp": true, + "vmx-preemption-timer": false, + "clflushopt": true, + "vmx-vnmi-pending": false, + "monitor": false, + "vmx-vintr-pending": false, + "avx512er": false, + "full-width-write": false, + "pmm-en": false, + "pcid": false, + "taa-no": false, + "arch-capabilities": true, + "vmx-secondary-ctls": false, + "vmx-xsaves": false, + "clzero": true, + "3dnow": false, + "erms": false, + "vmx-entry-ia32e-mode": false, + "lahf-lm": true, + "vpclmulqdq": false, + "vmx-ins-outs": false, + "fxsr-opt": true, + "xstore": false, + "rtm": false, + "kvm-hint-dedicated": false, + "lmce": false, + "perfctr-nb": false, + "rdrand": true, + "rdseed": true, + "avx512-4vnniw": false, + "vme": true, + "vmx": false, + "dtes64": false, + "mtrr": true, + "rdtscp": true, + "xsaveerptr": true, + "pse36": true, + "kvm-pv-tlb-flush": true, + "vmx-activity-wait-sipi": false, + "tbm": false, + "wdt": false, + "vmx-rdpmc-exit": false, + "vmx-mtf": false, + "vmx-entry-load-efer": false, + "model-id": "AMD Ryzen 9 3900X 12-Core Processor ", + "sha-ni": true, + "abm": true, + "vmx-ept-advanced-exitinfo": false, + "avx512pf": false, + "vmx-hlt-exit": false, + "xstore-en": false + } + } + }, + "id": "libvirt-50" +} + { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.replies b/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.replies index 277180fa89..ed04553f29 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.replies +++ b/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.replies @@ -26323,6 +26323,53 @@ "id": "libvirt-44" } +{ + "execute": "query-cpu-model-expansion", + "arguments": { + "type": "full", + "model": { + "name": "host", + "props": { + "migratable": false, + "hv-passthrough": true + } + } + }, + "id": "libvirt-45" +} + +{ + "return": { + "model": { + "name": "host", + "props": { + "sve768": false, + "sve128": false, + "sve1024": false, + "sve1280": false, + "sve896": false, + "sve256": false, + "sve1536": false, + "sve1792": false, + "sve384": false, + "sve": false, + "sve2048": false, + "kvm-no-adjvtime": false, + "sve512": false, + "aarch64": true, + "pmu": true, + "sve1920": false, + "sve1152": false, + "kvm-steal-time": true, + "sve640": false, + "sve1408": false, + "sve1664": false + } + } + }, + "id": "libvirt-45" +} + { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.replies index bccf12118a..d815a91f4c 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.replies @@ -29316,6 +29316,342 @@ "id": "libvirt-49" } +{ + "execute": "query-cpu-model-expansion", + "arguments": { + "type": "full", + "model": { + "name": "host", + "props": { + "migratable": false, + "hv-passthrough": true + } + } + }, + "id": "libvirt-50" +} + +{ + "return": { + "model": { + "name": "base", + "props": { + "vmx-entry-load-rtit-ctl": false, + "svme-addr-chk": false, + "cmov": true, + "ia64": false, + "ssb-no": false, + "aes": true, + "vmx-apicv-xapic": false, + "mmx": true, + "rdpid": true, + "arat": true, + "vmx-page-walk-4": false, + "vmx-page-walk-5": false, + "gfni": false, + "ibrs-all": false, + "vmx-desc-exit": false, + "pause-filter": false, + "bus-lock-detect": false, + "xsavec": true, + "intel-pt": false, + "vmx-cr8-store-exit": false, + "vmx-rdseed-exit": false, + "vmx-eptp-switching": false, + "kvm-asyncpf": true, + "perfctr-core": true, + "mpx": false, + "pbe": false, + "avx512cd": false, + "decodeassists": false, + "vmx-exit-load-efer": false, + "vmx-exit-clear-bndcfgs": false, + "sse4.1": true, + "family": 23, + "intel-pt-lip": false, + "vmx-vmwrite-vmexit-fields": false, + "kvm-asyncpf-int": true, + "vmx-vnmi": false, + "vmx-true-ctls": false, + "vmx-ept-execonly": false, + "vmx-exit-save-efer": false, + "vmx-invept-all-context": false, + "wbnoinvd": true, + "avx512f": false, + "msr": true, + "mce": true, + "mca": true, + "xcrypt": false, + "vmx-exit-load-pat": false, + "vmx-intr-exit": false, + "min-level": 16, + "vmx-flexpriority": false, + "xgetbv1": true, + "cid": false, + "ds": false, + "fxsr": true, + "avx512-fp16": false, + "avx512-bf16": false, + "vmx-cr8-load-exit": false, + "xsaveopt": true, + "vmx-apicv-vid": false, + "vmx-exit-save-pat": false, + "xtpr": false, + "tsx-ctrl": false, + "vmx-ple": false, + "avx512vl": false, + "avx512-vpopcntdq": false, + "phe": false, + "extapic": false, + "3dnowprefetch": true, + "vmx-vmfunc": false, + "vmx-activity-shutdown": false, + "avx512vbmi2": false, + "cr8legacy": true, + "vmx-encls-exit": false, + "stibp": true, + "vmx-msr-bitmap": false, + "xcrypt-en": false, + "vmx-mwait-exit": false, + "vmx-pml": false, + "vmx-nmi-exit": false, + "vmx-invept-single-context-noglobals": false, + "pn": false, + "rsba": false, + "dca": false, + "vendor": "AuthenticAMD", + "vmx-unrestricted-guest": false, + "vmx-cr3-store-noexit": false, + "pku": false, + "pks": false, + "smx": false, + "cmp-legacy": true, + "avx512-4fmaps": false, + "vmcb-clean": false, + "hle": false, + "3dnowext": false, + "amd-no-ssb": false, + "npt": true, + "rdctl-no": true, + "vmx-invvpid": false, + "clwb": true, + "lbrv": false, + "adx": true, + "ss": false, + "pni": true, + "tsx-ldtrk": false, + "svm-lock": false, + "smep": true, + "smap": true, + "pfthreshold": false, + "vmx-invpcid-exit": false, + "x2apic": true, + "avx512vbmi": false, + "avx512vnni": false, + "vmx-apicv-x2apic": false, + "kvm-pv-sched-yield": true, + "vmx-invlpg-exit": false, + "vmx-invvpid-all-context": false, + "vmx-activity-hlt": false, + "flushbyasid": false, + "f16c": true, + "vmx-exit-ack-intr": false, + "ace2-en": false, + "pae": true, + "pat": true, + "sse": true, + "phe-en": false, + "vmx-tsc-offset": false, + "kvm-nopiodelay": true, + "tm": false, + "kvmclock-stable-bit": true, + "vmx-rdtsc-exit": false, + "hypervisor": true, + "vmx-rdtscp-exit": false, + "mds-no": true, + "pcommit": false, + "vmx-vpid": false, + "syscall": true, + "avx512dq": false, + "svm": true, + "invtsc": true, + "vmx-monitor-exit": false, + "sse2": true, + "ssbd": true, + "vmx-wbinvd-exit": false, + "est": false, + "kvm-poll-control": true, + "avx512ifma": false, + "tm2": false, + "kvm-pv-eoi": true, + "kvm-pv-ipi": true, + "cx8": true, + "vmx-invvpid-single-addr": false, + "waitpkg": false, + "cldemote": false, + "vmx-ept": false, + "kvm-mmu": false, + "sse4.2": true, + "pge": true, + "avx512bitalg": false, + "pdcm": false, + "vmx-entry-load-bndcfgs": false, + "vmx-exit-clear-rtit-ctl": false, + "model": 113, + "movbe": true, + "nrip-save": true, + "ssse3": true, + "sse4a": true, + "kvm-msi-ext-dest-id": false, + "vmx-pause-exit": false, + "invpcid": false, + "pdpe1gb": true, + "tsc-deadline": true, + "skip-l1dfl-vmentry": true, + "vmx-exit-load-perf-global-ctrl": false, + "fma": true, + "cx16": true, + "de": true, + "stepping": 0, + "xsave": true, + "clflush": true, + "skinit": false, + "tsc": true, + "tce": false, + "fpu": true, + "ds-cpl": false, + "ibs": false, + "fma4": false, + "vmx-exit-nosave-debugctl": false, + "la57": false, + "vmx-invept": false, + "osvw": true, + "apic": true, + "pmm": false, + "vmx-entry-noload-debugctl": false, + "vmx-eptad": false, + "spec-ctrl": false, + "vmx-posted-intr": false, + "vmx-apicv-register": false, + "tsc-adjust": true, + "kvm-steal-time": true, + "avx512-vp2intersect": false, + "kvmclock": true, + "vmx-zero-len-inject": false, + "pschange-mc-no": true, + "v-vmsave-vmload": false, + "vmx-rdrand-exit": false, + "lwp": false, + "amd-ssbd": true, + "xop": false, + "ibpb": true, + "ibrs": false, + "avx": true, + "core-capability": false, + "vmx-invept-single-context": false, + "movdiri": false, + "acpi": false, + "avx512bw": false, + "ace2": false, + "fsgsbase": true, + "vmx-ept-2mb": false, + "vmx-ept-1gb": false, + "ht": false, + "vmx-io-exit": false, + "nx": true, + "pclmulqdq": true, + "mmxext": true, + "popcnt": true, + "vaes": false, + "serialize": false, + "movdir64b": false, + "xsaves": true, + "vmx-shadow-vmcs": false, + "lm": true, + "vmx-exit-save-preemption-timer": false, + "vmx-entry-load-pat": false, + "fsrm": false, + "vmx-entry-load-perf-global-ctrl": false, + "vmx-io-bitmap": false, + "umip": true, + "vmx-store-lma": false, + "vmx-movdr-exit": false, + "pse": true, + "avx2": true, + "avic": false, + "sep": true, + "virt-ssbd": true, + "vmx-cr3-load-noexit": false, + "nodeid-msr": false, + "md-clear": false, + "misalignsse": true, + "split-lock-detect": false, + "min-xlevel": 2147483679, + "bmi1": true, + "bmi2": true, + "kvm-pv-unhalt": true, + "tsc-scale": false, + "topoext": false, + "amd-stibp": true, + "vmx-preemption-timer": false, + "clflushopt": true, + "vmx-entry-load-pkrs": false, + "vmx-vnmi-pending": false, + "monitor": false, + "vmx-vintr-pending": false, + "avx512er": false, + "full-width-write": false, + "pmm-en": false, + "pcid": false, + "taa-no": false, + "arch-capabilities": true, + "vgif": false, + "vmx-secondary-ctls": false, + "vmx-xsaves": false, + "clzero": true, + "3dnow": false, + "erms": false, + "vmx-entry-ia32e-mode": false, + "lahf-lm": true, + "vpclmulqdq": false, + "vmx-ins-outs": false, + "fxsr-opt": true, + "xstore": false, + "rtm": false, + "kvm-hint-dedicated": false, + "lmce": false, + "perfctr-nb": false, + "rdrand": true, + "rdseed": true, + "avx512-4vnniw": false, + "vme": true, + "vmx": false, + "dtes64": false, + "mtrr": true, + "rdtscp": true, + "xsaveerptr": true, + "pse36": true, + "kvm-pv-tlb-flush": true, + "vmx-activity-wait-sipi": false, + "tbm": false, + "wdt": false, + "vmx-rdpmc-exit": false, + "vmx-mtf": false, + "vmx-entry-load-efer": false, + "model-id": "AMD Ryzen 9 3900X 12-Core Processor ", + "sha-ni": true, + "vmx-exit-load-pkrs": false, + "abm": true, + "vmx-ept-advanced-exitinfo": false, + "avx512pf": false, + "vmx-hlt-exit": false, + "xstore-en": false + } + } + }, + "id": "libvirt-50" +} + { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.replies index b7f1337edd..e55adfbe66 100644 --- a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.replies @@ -29797,6 +29797,344 @@ "id": "libvirt-49" } +{ + "execute": "query-cpu-model-expansion", + "arguments": { + "type": "full", + "model": { + "name": "host", + "props": { + "migratable": false, + "hv-passthrough": true + } + } + }, + "id": "libvirt-50" +} + +{ + "return": { + "model": { + "name": "base", + "props": { + "vmx-entry-load-rtit-ctl": false, + "svme-addr-chk": true, + "cmov": true, + "ia64": false, + "ssb-no": false, + "aes": true, + "vmx-apicv-xapic": false, + "mmx": true, + "rdpid": true, + "arat": true, + "vmx-page-walk-4": false, + "vmx-page-walk-5": false, + "gfni": false, + "ibrs-all": false, + "vmx-desc-exit": false, + "pause-filter": false, + "bus-lock-detect": false, + "xsavec": true, + "intel-pt": false, + "vmx-tsc-scaling": false, + "vmx-cr8-store-exit": false, + "vmx-rdseed-exit": false, + "vmx-eptp-switching": false, + "kvm-asyncpf": true, + "perfctr-core": true, + "mpx": false, + "pbe": false, + "avx512cd": false, + "decodeassists": false, + "vmx-exit-load-efer": false, + "vmx-exit-clear-bndcfgs": false, + "sse4.1": true, + "family": 23, + "intel-pt-lip": false, + "vmx-vmwrite-vmexit-fields": false, + "kvm-asyncpf-int": true, + "vmx-vnmi": false, + "vmx-true-ctls": false, + "vmx-ept-execonly": false, + "vmx-exit-save-efer": false, + "vmx-invept-all-context": false, + "wbnoinvd": true, + "avx512f": false, + "msr": true, + "mce": true, + "mca": true, + "xcrypt": false, + "vmx-exit-load-pat": false, + "vmx-intr-exit": false, + "min-level": 16, + "vmx-flexpriority": false, + "xgetbv1": true, + "cid": false, + "ds": false, + "fxsr": true, + "avx512-fp16": false, + "avx512-bf16": false, + "vmx-cr8-load-exit": false, + "xsaveopt": true, + "vmx-apicv-vid": false, + "vmx-exit-save-pat": false, + "xtpr": false, + "tsx-ctrl": false, + "vmx-ple": false, + "avx512vl": false, + "avx512-vpopcntdq": false, + "phe": false, + "extapic": false, + "3dnowprefetch": true, + "vmx-vmfunc": false, + "vmx-activity-shutdown": false, + "avx512vbmi2": false, + "cr8legacy": true, + "vmx-encls-exit": false, + "stibp": true, + "vmx-msr-bitmap": false, + "xcrypt-en": false, + "vmx-mwait-exit": false, + "vmx-pml": false, + "vmx-nmi-exit": false, + "vmx-invept-single-context-noglobals": false, + "pn": false, + "rsba": false, + "dca": false, + "vendor": "AuthenticAMD", + "vmx-unrestricted-guest": false, + "vmx-cr3-store-noexit": false, + "pku": false, + "pks": false, + "smx": false, + "cmp-legacy": true, + "avx512-4fmaps": false, + "vmcb-clean": false, + "hle": false, + "avx-vnni": false, + "3dnowext": false, + "amd-no-ssb": false, + "npt": true, + "rdctl-no": true, + "vmx-invvpid": false, + "clwb": true, + "lbrv": false, + "adx": true, + "ss": false, + "pni": true, + "tsx-ldtrk": false, + "svm-lock": false, + "smep": true, + "smap": true, + "pfthreshold": false, + "vmx-invpcid-exit": false, + "x2apic": true, + "avx512vbmi": false, + "avx512vnni": false, + "vmx-apicv-x2apic": false, + "kvm-pv-sched-yield": true, + "vmx-invlpg-exit": false, + "vmx-invvpid-all-context": false, + "vmx-activity-hlt": false, + "flushbyasid": false, + "f16c": true, + "vmx-exit-ack-intr": false, + "ace2-en": false, + "pae": true, + "pat": true, + "sse": true, + "phe-en": false, + "vmx-tsc-offset": false, + "kvm-nopiodelay": true, + "tm": false, + "kvmclock-stable-bit": true, + "vmx-rdtsc-exit": false, + "hypervisor": true, + "vmx-rdtscp-exit": false, + "mds-no": true, + "pcommit": false, + "vmx-vpid": false, + "syscall": true, + "avx512dq": false, + "svm": true, + "invtsc": true, + "vmx-monitor-exit": false, + "sse2": true, + "ssbd": true, + "vmx-wbinvd-exit": false, + "est": false, + "kvm-poll-control": true, + "avx512ifma": false, + "tm2": false, + "kvm-pv-eoi": true, + "kvm-pv-ipi": true, + "cx8": true, + "vmx-invvpid-single-addr": false, + "waitpkg": false, + "cldemote": false, + "vmx-ept": false, + "kvm-mmu": false, + "sse4.2": true, + "pge": true, + "avx512bitalg": false, + "pdcm": false, + "vmx-entry-load-bndcfgs": false, + "vmx-exit-clear-rtit-ctl": false, + "model": 113, + "movbe": true, + "nrip-save": true, + "ssse3": true, + "sse4a": true, + "kvm-msi-ext-dest-id": false, + "vmx-pause-exit": false, + "invpcid": false, + "pdpe1gb": true, + "tsc-deadline": true, + "skip-l1dfl-vmentry": true, + "vmx-exit-load-perf-global-ctrl": false, + "fma": true, + "cx16": true, + "de": true, + "stepping": 0, + "xsave": true, + "clflush": true, + "skinit": false, + "tsc": true, + "tce": false, + "fpu": true, + "ds-cpl": false, + "ibs": false, + "fma4": false, + "vmx-exit-nosave-debugctl": false, + "la57": false, + "vmx-invept": false, + "osvw": true, + "apic": true, + "pmm": false, + "vmx-entry-noload-debugctl": false, + "vmx-eptad": false, + "spec-ctrl": false, + "vmx-posted-intr": false, + "vmx-apicv-register": false, + "tsc-adjust": true, + "kvm-steal-time": true, + "avx512-vp2intersect": false, + "kvmclock": true, + "vmx-zero-len-inject": false, + "pschange-mc-no": true, + "v-vmsave-vmload": false, + "vmx-rdrand-exit": false, + "lwp": false, + "amd-ssbd": true, + "xop": false, + "ibpb": true, + "ibrs": false, + "avx": true, + "core-capability": false, + "vmx-invept-single-context": false, + "movdiri": false, + "acpi": false, + "avx512bw": false, + "ace2": false, + "fsgsbase": true, + "vmx-ept-2mb": false, + "vmx-ept-1gb": false, + "ht": false, + "vmx-io-exit": false, + "nx": true, + "pclmulqdq": true, + "mmxext": true, + "popcnt": true, + "vaes": false, + "serialize": false, + "movdir64b": false, + "xsaves": true, + "vmx-shadow-vmcs": false, + "lm": true, + "vmx-exit-save-preemption-timer": false, + "vmx-entry-load-pat": false, + "fsrm": false, + "vmx-entry-load-perf-global-ctrl": false, + "vmx-io-bitmap": false, + "umip": true, + "vmx-store-lma": false, + "vmx-movdr-exit": false, + "pse": true, + "avx2": true, + "avic": false, + "sep": true, + "virt-ssbd": true, + "vmx-cr3-load-noexit": false, + "nodeid-msr": false, + "md-clear": false, + "misalignsse": true, + "split-lock-detect": false, + "min-xlevel": 2147483679, + "bmi1": true, + "bmi2": true, + "kvm-pv-unhalt": true, + "tsc-scale": false, + "topoext": false, + "amd-stibp": true, + "vmx-preemption-timer": false, + "clflushopt": true, + "vmx-entry-load-pkrs": false, + "vmx-vnmi-pending": false, + "monitor": false, + "vmx-vintr-pending": false, + "avx512er": false, + "full-width-write": false, + "pmm-en": false, + "pcid": false, + "taa-no": false, + "arch-capabilities": true, + "vgif": false, + "vmx-secondary-ctls": false, + "vmx-xsaves": false, + "clzero": true, + "3dnow": false, + "erms": false, + "vmx-entry-ia32e-mode": false, + "lahf-lm": true, + "vpclmulqdq": false, + "vmx-ins-outs": false, + "fxsr-opt": true, + "xstore": false, + "rtm": false, + "kvm-hint-dedicated": false, + "lmce": false, + "perfctr-nb": false, + "rdrand": true, + "rdseed": true, + "avx512-4vnniw": false, + "vme": true, + "vmx": false, + "dtes64": false, + "mtrr": true, + "rdtscp": true, + "xsaveerptr": true, + "pse36": true, + "kvm-pv-tlb-flush": true, + "vmx-activity-wait-sipi": false, + "tbm": false, + "wdt": false, + "vmx-rdpmc-exit": false, + "vmx-mtf": false, + "vmx-entry-load-efer": false, + "model-id": "AMD Ryzen 9 3900X 12-Core Processor ", + "sha-ni": true, + "vmx-exit-load-pkrs": false, + "abm": true, + "vmx-ept-advanced-exitinfo": false, + "avx512pf": false, + "vmx-hlt-exit": false, + "xstore-en": false + } + } + }, + "id": "libvirt-50" +} + { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.replies b/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.replies index 61118722a3..20d176e4b7 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.replies +++ b/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.replies @@ -27411,6 +27411,53 @@ "id": "libvirt-45" } +{ + "execute": "query-cpu-model-expansion", + "arguments": { + "type": "full", + "model": { + "name": "host", + "props": { + "migratable": false, + "hv-passthrough": true + } + } + }, + "id": "libvirt-46" +} + +{ + "return": { + "model": { + "name": "host", + "props": { + "sve768": false, + "sve128": false, + "sve1024": false, + "sve1280": false, + "sve896": false, + "sve256": false, + "sve1536": false, + "sve1792": false, + "sve384": false, + "sve": false, + "sve2048": false, + "kvm-no-adjvtime": false, + "sve512": false, + "aarch64": true, + "pmu": true, + "sve1920": false, + "sve1152": false, + "kvm-steal-time": true, + "sve640": false, + "sve1408": false, + "sve1664": false + } + } + }, + "id": "libvirt-46" +} + { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.replies index fb32cb7a03..d7da5068b0 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.replies @@ -33123,6 +33123,354 @@ "id": "libvirt-50" } +{ + "execute": "query-cpu-model-expansion", + "arguments": { + "type": "full", + "model": { + "name": "host", + "props": { + "migratable": false, + "hv-passthrough": true + } + } + }, + "id": "libvirt-51" +} + +{ + "return": { + "model": { + "name": "base", + "props": { + "vmx-entry-load-rtit-ctl": false, + "svme-addr-chk": true, + "cmov": true, + "ia64": false, + "ssb-no": false, + "aes": true, + "vmx-apicv-xapic": false, + "mmx": true, + "rdpid": true, + "arat": true, + "vmx-page-walk-4": false, + "vmx-page-walk-5": false, + "gfni": false, + "ibrs-all": false, + "vmx-desc-exit": false, + "pause-filter": false, + "bus-lock-detect": false, + "xsavec": true, + "intel-pt": false, + "vmx-tsc-scaling": false, + "vmx-cr8-store-exit": false, + "vmx-rdseed-exit": false, + "vmx-eptp-switching": false, + "kvm-asyncpf": true, + "perfctr-core": true, + "mpx": false, + "pbe": false, + "avx512cd": false, + "decodeassists": false, + "vmx-exit-load-efer": false, + "vmx-exit-clear-bndcfgs": false, + "sse4.1": true, + "family": 23, + "intel-pt-lip": false, + "vmx-vmwrite-vmexit-fields": false, + "kvm-asyncpf-int": true, + "vmx-vnmi": false, + "vmx-true-ctls": false, + "vmx-ept-execonly": false, + "vmx-exit-save-efer": false, + "vmx-invept-all-context": false, + "wbnoinvd": true, + "avx512f": false, + "msr": true, + "mce": true, + "mca": true, + "xcrypt": false, + "sgx": false, + "vmx-exit-load-pat": false, + "vmx-intr-exit": false, + "min-level": 16, + "vmx-flexpriority": false, + "xgetbv1": true, + "cid": false, + "sgx-exinfo": false, + "ds": false, + "fxsr": true, + "avx512-fp16": false, + "avx512-bf16": false, + "vmx-cr8-load-exit": false, + "xsaveopt": true, + "vmx-apicv-vid": false, + "vmx-exit-save-pat": false, + "xtpr": false, + "tsx-ctrl": false, + "vmx-ple": false, + "avx512vl": false, + "avx512-vpopcntdq": false, + "phe": false, + "extapic": false, + "3dnowprefetch": true, + "vmx-vmfunc": false, + "vmx-activity-shutdown": false, + "sgx1": false, + "sgx2": false, + "avx512vbmi2": false, + "cr8legacy": true, + "vmx-encls-exit": false, + "stibp": true, + "vmx-msr-bitmap": false, + "xcrypt-en": false, + "vmx-mwait-exit": false, + "vmx-pml": false, + "vmx-nmi-exit": false, + "vmx-invept-single-context-noglobals": false, + "pn": false, + "rsba": false, + "dca": false, + "vendor": "AuthenticAMD", + "vmx-unrestricted-guest": false, + "vmx-cr3-store-noexit": false, + "pku": false, + "pks": false, + "smx": false, + "cmp-legacy": true, + "avx512-4fmaps": false, + "vmcb-clean": false, + "hle": false, + "avx-vnni": false, + "3dnowext": false, + "amd-no-ssb": false, + "npt": true, + "sgxlc": false, + "rdctl-no": true, + "vmx-invvpid": false, + "clwb": true, + "lbrv": false, + "adx": true, + "ss": false, + "pni": true, + "tsx-ldtrk": false, + "svm-lock": false, + "smep": true, + "smap": true, + "pfthreshold": false, + "vmx-invpcid-exit": false, + "x2apic": true, + "avx512vbmi": false, + "avx512vnni": false, + "vmx-apicv-x2apic": false, + "kvm-pv-sched-yield": true, + "vmx-invlpg-exit": false, + "vmx-invvpid-all-context": false, + "vmx-activity-hlt": false, + "flushbyasid": false, + "f16c": true, + "vmx-exit-ack-intr": false, + "ace2-en": false, + "pae": true, + "pat": true, + "sse": true, + "phe-en": false, + "vmx-tsc-offset": false, + "kvm-nopiodelay": true, + "tm": false, + "kvmclock-stable-bit": true, + "vmx-rdtsc-exit": false, + "hypervisor": true, + "vmx-rdtscp-exit": false, + "mds-no": true, + "pcommit": false, + "vmx-vpid": false, + "syscall": true, + "avx512dq": false, + "svm": true, + "invtsc": true, + "vmx-monitor-exit": false, + "sse2": true, + "ssbd": true, + "vmx-wbinvd-exit": false, + "est": false, + "kvm-poll-control": true, + "avx512ifma": false, + "tm2": false, + "kvm-pv-eoi": true, + "kvm-pv-ipi": true, + "cx8": true, + "vmx-invvpid-single-addr": false, + "waitpkg": false, + "cldemote": false, + "sgx-tokenkey": false, + "vmx-ept": false, + "kvm-mmu": false, + "sse4.2": true, + "pge": true, + "avx512bitalg": false, + "pdcm": false, + "vmx-entry-load-bndcfgs": false, + "vmx-exit-clear-rtit-ctl": false, + "model": 113, + "movbe": true, + "nrip-save": true, + "ssse3": true, + "sse4a": true, + "kvm-msi-ext-dest-id": false, + "vmx-pause-exit": false, + "invpcid": false, + "sgx-debug": false, + "pdpe1gb": true, + "sgx-mode64": false, + "tsc-deadline": true, + "skip-l1dfl-vmentry": true, + "vmx-exit-load-perf-global-ctrl": false, + "fma": true, + "cx16": true, + "de": true, + "stepping": 0, + "xsave": true, + "clflush": true, + "skinit": false, + "tsc": true, + "tce": false, + "fpu": true, + "ds-cpl": false, + "ibs": false, + "fma4": false, + "vmx-exit-nosave-debugctl": false, + "sgx-kss": false, + "la57": false, + "vmx-invept": false, + "osvw": true, + "apic": true, + "pmm": false, + "vmx-entry-noload-debugctl": false, + "vmx-eptad": false, + "spec-ctrl": false, + "vmx-posted-intr": false, + "vmx-apicv-register": false, + "tsc-adjust": true, + "kvm-steal-time": true, + "avx512-vp2intersect": false, + "kvmclock": true, + "vmx-zero-len-inject": false, + "pschange-mc-no": true, + "v-vmsave-vmload": false, + "vmx-rdrand-exit": false, + "sgx-provisionkey": false, + "lwp": false, + "amd-ssbd": true, + "xop": false, + "ibpb": true, + "ibrs": false, + "avx": true, + "core-capability": false, + "vmx-invept-single-context": false, + "movdiri": false, + "acpi": false, + "avx512bw": false, + "ace2": false, + "fsgsbase": true, + "vmx-ept-2mb": false, + "vmx-ept-1gb": false, + "ht": false, + "vmx-io-exit": false, + "nx": true, + "pclmulqdq": true, + "mmxext": true, + "popcnt": true, + "vaes": false, + "serialize": false, + "movdir64b": false, + "xsaves": true, + "vmx-shadow-vmcs": false, + "lm": true, + "vmx-exit-save-preemption-timer": false, + "vmx-entry-load-pat": false, + "fsrm": false, + "vmx-entry-load-perf-global-ctrl": false, + "vmx-io-bitmap": false, + "umip": true, + "vmx-store-lma": false, + "vmx-movdr-exit": false, + "pse": true, + "avx2": true, + "avic": false, + "sep": true, + "virt-ssbd": true, + "vmx-cr3-load-noexit": false, + "nodeid-msr": false, + "md-clear": false, + "misalignsse": true, + "split-lock-detect": false, + "min-xlevel": 2147483679, + "bmi1": true, + "bmi2": true, + "kvm-pv-unhalt": true, + "tsc-scale": false, + "topoext": false, + "amd-stibp": true, + "vmx-preemption-timer": false, + "clflushopt": true, + "vmx-entry-load-pkrs": false, + "vmx-vnmi-pending": false, + "monitor": false, + "vmx-vintr-pending": false, + "avx512er": false, + "full-width-write": false, + "pmm-en": false, + "pcid": false, + "taa-no": false, + "arch-capabilities": true, + "vgif": false, + "vmx-secondary-ctls": false, + "vmx-xsaves": false, + "clzero": true, + "3dnow": false, + "erms": false, + "vmx-entry-ia32e-mode": false, + "lahf-lm": true, + "vpclmulqdq": false, + "vmx-ins-outs": false, + "fxsr-opt": true, + "xstore": false, + "rtm": false, + "kvm-hint-dedicated": false, + "lmce": false, + "perfctr-nb": false, + "rdrand": true, + "rdseed": true, + "avx512-4vnniw": false, + "vme": true, + "vmx": false, + "dtes64": false, + "mtrr": true, + "rdtscp": true, + "xsaveerptr": true, + "pse36": true, + "kvm-pv-tlb-flush": true, + "vmx-activity-wait-sipi": false, + "tbm": false, + "wdt": false, + "vmx-rdpmc-exit": false, + "vmx-mtf": false, + "vmx-entry-load-efer": false, + "model-id": "AMD Ryzen 9 3900X 12-Core Processor ", + "sha-ni": true, + "vmx-exit-load-pkrs": false, + "abm": true, + "vmx-ept-advanced-exitinfo": false, + "avx512pf": false, + "vmx-hlt-exit": false, + "xstore-en": false + } + } + }, + "id": "libvirt-51" +} + { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.replies b/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.replies index 6626778f0f..b330e842c2 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.replies +++ b/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.replies @@ -31164,6 +31164,54 @@ "id": "libvirt-46" } +{ + "execute": "query-cpu-model-expansion", + "arguments": { + "type": "full", + "model": { + "name": "host", + "props": { + "migratable": false, + "hv-passthrough": true + } + } + }, + "id": "libvirt-47" +} + +{ + "return": { + "model": { + "name": "host", + "props": { + "sve768": false, + "sve128": false, + "sve1024": false, + "sve1280": false, + "sve896": false, + "sve256": false, + "sve1536": false, + "sve1792": false, + "sve384": false, + "sve": false, + "sve2048": false, + "pauth": false, + "kvm-no-adjvtime": false, + "sve512": false, + "aarch64": true, + "pmu": true, + "sve1920": false, + "sve1152": false, + "kvm-steal-time": true, + "sve640": false, + "sve1408": false, + "sve1664": false + } + } + }, + "id": "libvirt-47" +} + { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.replies index a331006289..a4b1a8490f 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.replies @@ -33754,6 +33754,358 @@ "id": "libvirt-50" } +{ + "execute": "query-cpu-model-expansion", + "arguments": { + "type": "full", + "model": { + "name": "host", + "props": { + "migratable": false, + "hv-passthrough": true + } + } + }, + "id": "libvirt-51" +} + +{ + "return": { + "model": { + "name": "base", + "props": { + "vmx-entry-load-rtit-ctl": false, + "svme-addr-chk": true, + "cmov": true, + "ia64": false, + "ssb-no": false, + "aes": true, + "vmx-apicv-xapic": false, + "mmx": true, + "rdpid": true, + "arat": true, + "vmx-page-walk-4": false, + "vmx-page-walk-5": false, + "gfni": false, + "ibrs-all": false, + "vmx-desc-exit": false, + "pause-filter": false, + "bus-lock-detect": false, + "xsavec": true, + "intel-pt": false, + "vmx-tsc-scaling": false, + "vmx-cr8-store-exit": false, + "vmx-rdseed-exit": false, + "vmx-eptp-switching": false, + "kvm-asyncpf": true, + "perfctr-core": true, + "mpx": false, + "pbe": false, + "avx512cd": false, + "decodeassists": false, + "vmx-exit-load-efer": false, + "vmx-exit-clear-bndcfgs": false, + "sse4.1": true, + "family": 23, + "intel-pt-lip": false, + "vmx-vmwrite-vmexit-fields": false, + "kvm-asyncpf-int": true, + "vmx-vnmi": false, + "vmx-true-ctls": false, + "vmx-ept-execonly": false, + "vmx-exit-save-efer": false, + "vmx-invept-all-context": false, + "wbnoinvd": true, + "avx512f": false, + "msr": true, + "mce": true, + "mca": true, + "xcrypt": false, + "sgx": false, + "vmx-exit-load-pat": false, + "vmx-intr-exit": false, + "min-level": 16, + "vmx-flexpriority": false, + "xgetbv1": true, + "cid": false, + "sgx-exinfo": false, + "ds": false, + "fxsr": true, + "avx512-fp16": false, + "avx512-bf16": false, + "vmx-cr8-load-exit": false, + "xsaveopt": true, + "vmx-apicv-vid": false, + "vmx-exit-save-pat": false, + "xtpr": false, + "tsx-ctrl": false, + "vmx-ple": false, + "avx512vl": false, + "avx512-vpopcntdq": false, + "phe": false, + "extapic": false, + "3dnowprefetch": true, + "vmx-vmfunc": false, + "vmx-activity-shutdown": false, + "sgx1": false, + "sgx2": false, + "avx512vbmi2": false, + "cr8legacy": true, + "vmx-encls-exit": false, + "stibp": true, + "vmx-msr-bitmap": false, + "xcrypt-en": false, + "vmx-mwait-exit": false, + "vmx-pml": false, + "vmx-nmi-exit": false, + "amx-tile": false, + "vmx-invept-single-context-noglobals": false, + "pn": false, + "rsba": false, + "dca": false, + "vendor": "AuthenticAMD", + "vmx-unrestricted-guest": false, + "vmx-cr3-store-noexit": false, + "pku": false, + "pks": false, + "smx": false, + "cmp-legacy": true, + "avx512-4fmaps": false, + "vmcb-clean": false, + "hle": false, + "avx-vnni": false, + "3dnowext": false, + "amd-no-ssb": false, + "npt": true, + "sgxlc": false, + "rdctl-no": true, + "vmx-invvpid": false, + "clwb": true, + "lbrv": false, + "adx": true, + "ss": false, + "pni": true, + "tsx-ldtrk": false, + "svm-lock": false, + "smep": true, + "smap": true, + "pfthreshold": false, + "vmx-invpcid-exit": false, + "amx-int8": false, + "x2apic": true, + "avx512vbmi": false, + "avx512vnni": false, + "vmx-apicv-x2apic": false, + "kvm-pv-sched-yield": true, + "vmx-invlpg-exit": false, + "vmx-invvpid-all-context": false, + "vmx-activity-hlt": false, + "flushbyasid": false, + "f16c": true, + "vmx-exit-ack-intr": false, + "ace2-en": false, + "pae": true, + "pat": true, + "sse": true, + "phe-en": false, + "vmx-tsc-offset": false, + "kvm-nopiodelay": true, + "tm": false, + "kvmclock-stable-bit": true, + "vmx-rdtsc-exit": false, + "hypervisor": true, + "vmx-rdtscp-exit": false, + "mds-no": true, + "pcommit": false, + "vmx-vpid": false, + "syscall": true, + "avx512dq": false, + "svm": true, + "invtsc": true, + "vmx-monitor-exit": false, + "sse2": true, + "ssbd": true, + "vmx-wbinvd-exit": false, + "est": false, + "kvm-poll-control": true, + "avx512ifma": false, + "tm2": false, + "kvm-pv-eoi": true, + "kvm-pv-ipi": true, + "cx8": true, + "vmx-invvpid-single-addr": false, + "waitpkg": false, + "cldemote": false, + "sgx-tokenkey": false, + "vmx-ept": false, + "xfd": false, + "kvm-mmu": false, + "sse4.2": true, + "pge": true, + "avx512bitalg": false, + "pdcm": false, + "vmx-entry-load-bndcfgs": false, + "vmx-exit-clear-rtit-ctl": false, + "model": 113, + "movbe": true, + "nrip-save": true, + "ssse3": true, + "sse4a": true, + "kvm-msi-ext-dest-id": false, + "vmx-pause-exit": false, + "invpcid": false, + "sgx-debug": false, + "pdpe1gb": true, + "sgx-mode64": false, + "tsc-deadline": true, + "skip-l1dfl-vmentry": true, + "vmx-exit-load-perf-global-ctrl": false, + "fma": true, + "cx16": true, + "de": true, + "stepping": 0, + "xsave": true, + "clflush": true, + "skinit": false, + "tsc": true, + "tce": false, + "fpu": true, + "ds-cpl": false, + "ibs": false, + "fma4": false, + "vmx-exit-nosave-debugctl": false, + "sgx-kss": false, + "la57": false, + "vmx-invept": false, + "osvw": true, + "apic": true, + "pmm": false, + "vmx-entry-noload-debugctl": false, + "vmx-eptad": false, + "spec-ctrl": false, + "vmx-posted-intr": false, + "vmx-apicv-register": false, + "tsc-adjust": true, + "kvm-steal-time": true, + "avx512-vp2intersect": false, + "kvmclock": true, + "vmx-zero-len-inject": false, + "pschange-mc-no": true, + "v-vmsave-vmload": false, + "vmx-rdrand-exit": false, + "sgx-provisionkey": false, + "lwp": false, + "amd-ssbd": true, + "xop": false, + "ibpb": true, + "ibrs": false, + "avx": true, + "core-capability": false, + "vmx-invept-single-context": false, + "movdiri": false, + "acpi": false, + "avx512bw": false, + "ace2": false, + "fsgsbase": true, + "vmx-ept-2mb": false, + "vmx-ept-1gb": false, + "ht": false, + "vmx-io-exit": false, + "nx": true, + "pclmulqdq": true, + "mmxext": true, + "popcnt": true, + "vaes": false, + "serialize": false, + "movdir64b": false, + "xsaves": true, + "vmx-shadow-vmcs": false, + "lm": true, + "vmx-exit-save-preemption-timer": false, + "vmx-entry-load-pat": false, + "fsrm": false, + "vmx-entry-load-perf-global-ctrl": false, + "vmx-io-bitmap": false, + "umip": true, + "vmx-store-lma": false, + "vmx-movdr-exit": false, + "pse": true, + "avx2": true, + "avic": false, + "sep": true, + "virt-ssbd": true, + "vmx-cr3-load-noexit": false, + "nodeid-msr": false, + "md-clear": false, + "misalignsse": true, + "split-lock-detect": false, + "min-xlevel": 2147483679, + "bmi1": true, + "bmi2": true, + "kvm-pv-unhalt": true, + "tsc-scale": true, + "topoext": false, + "amd-stibp": true, + "vmx-preemption-timer": false, + "clflushopt": true, + "vmx-entry-load-pkrs": false, + "vmx-vnmi-pending": false, + "monitor": false, + "vmx-vintr-pending": false, + "avx512er": false, + "full-width-write": false, + "pmm-en": false, + "pcid": false, + "taa-no": false, + "arch-capabilities": true, + "vgif": false, + "vmx-secondary-ctls": false, + "vmx-xsaves": false, + "clzero": true, + "3dnow": false, + "erms": false, + "vmx-entry-ia32e-mode": false, + "lahf-lm": true, + "vpclmulqdq": false, + "vmx-ins-outs": false, + "fxsr-opt": true, + "xstore": false, + "rtm": false, + "kvm-hint-dedicated": false, + "amx-bf16": false, + "lmce": false, + "perfctr-nb": false, + "rdrand": true, + "rdseed": true, + "avx512-4vnniw": false, + "vme": true, + "vmx": false, + "dtes64": false, + "mtrr": true, + "rdtscp": true, + "xsaveerptr": true, + "pse36": true, + "kvm-pv-tlb-flush": true, + "vmx-activity-wait-sipi": false, + "tbm": false, + "wdt": false, + "vmx-rdpmc-exit": false, + "vmx-mtf": false, + "vmx-entry-load-efer": false, + "model-id": "AMD Ryzen 9 3900X 12-Core Processor ", + "sha-ni": true, + "vmx-exit-load-pkrs": false, + "abm": true, + "vmx-ept-advanced-exitinfo": false, + "avx512pf": false, + "vmx-hlt-exit": false, + "xstore-en": false + } + } + }, + "id": "libvirt-51" +} + { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.replies index 9eb851694f..1726cbc5f3 100644 --- a/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.replies @@ -34436,6 +34436,359 @@ "id": "libvirt-50" } +{ + "execute": "query-cpu-model-expansion", + "arguments": { + "type": "full", + "model": { + "name": "host", + "props": { + "migratable": false, + "hv-passthrough": true + } + } + }, + "id": "libvirt-51" +} + +{ + "return": { + "model": { + "name": "base", + "props": { + "vmx-entry-load-rtit-ctl": false, + "svme-addr-chk": true, + "cmov": true, + "ia64": false, + "ssb-no": false, + "aes": true, + "vmx-apicv-xapic": false, + "mmx": true, + "rdpid": true, + "arat": true, + "vmx-page-walk-4": false, + "vmx-page-walk-5": false, + "gfni": false, + "ibrs-all": false, + "vmx-desc-exit": false, + "pause-filter": false, + "bus-lock-detect": false, + "xsavec": true, + "intel-pt": false, + "vmx-tsc-scaling": false, + "vmx-cr8-store-exit": false, + "vmx-rdseed-exit": false, + "vmx-eptp-switching": false, + "kvm-asyncpf": true, + "perfctr-core": true, + "mpx": false, + "pbe": false, + "avx512cd": false, + "decodeassists": false, + "vmx-exit-load-efer": false, + "vmx-exit-clear-bndcfgs": false, + "sse4.1": true, + "family": 23, + "intel-pt-lip": false, + "vmx-vmwrite-vmexit-fields": false, + "kvm-asyncpf-int": true, + "vmx-vnmi": false, + "vmx-true-ctls": false, + "vmx-ept-execonly": false, + "vmx-exit-save-efer": false, + "vmx-invept-all-context": false, + "wbnoinvd": true, + "avx512f": false, + "msr": true, + "mce": true, + "mca": true, + "xcrypt": false, + "sgx": false, + "vmx-exit-load-pat": false, + "vmx-intr-exit": false, + "min-level": 16, + "vmx-flexpriority": false, + "xgetbv1": true, + "cid": false, + "sgx-exinfo": false, + "ds": false, + "fxsr": true, + "avx512-fp16": false, + "avx512-bf16": false, + "vmx-cr8-load-exit": false, + "xsaveopt": true, + "arch-lbr": false, + "vmx-apicv-vid": false, + "vmx-exit-save-pat": false, + "xtpr": false, + "tsx-ctrl": false, + "vmx-ple": false, + "avx512vl": false, + "avx512-vpopcntdq": false, + "phe": false, + "extapic": false, + "3dnowprefetch": true, + "vmx-vmfunc": false, + "vmx-activity-shutdown": false, + "sgx1": false, + "sgx2": false, + "avx512vbmi2": false, + "cr8legacy": true, + "vmx-encls-exit": false, + "stibp": true, + "vmx-msr-bitmap": false, + "xcrypt-en": false, + "vmx-mwait-exit": false, + "vmx-pml": false, + "vmx-nmi-exit": false, + "amx-tile": false, + "vmx-invept-single-context-noglobals": false, + "pn": false, + "rsba": false, + "dca": false, + "vendor": "AuthenticAMD", + "vmx-unrestricted-guest": false, + "vmx-cr3-store-noexit": false, + "pku": false, + "pks": false, + "smx": false, + "cmp-legacy": true, + "avx512-4fmaps": false, + "vmcb-clean": true, + "hle": false, + "avx-vnni": false, + "3dnowext": false, + "amd-no-ssb": false, + "npt": true, + "sgxlc": false, + "rdctl-no": true, + "vmx-invvpid": false, + "clwb": true, + "lbrv": false, + "adx": true, + "ss": false, + "pni": true, + "tsx-ldtrk": false, + "svm-lock": false, + "smep": true, + "smap": true, + "pfthreshold": false, + "vmx-invpcid-exit": false, + "amx-int8": false, + "x2apic": true, + "avx512vbmi": false, + "avx512vnni": false, + "vmx-apicv-x2apic": false, + "kvm-pv-sched-yield": true, + "vmx-invlpg-exit": false, + "vmx-invvpid-all-context": false, + "vmx-activity-hlt": false, + "flushbyasid": false, + "f16c": true, + "vmx-exit-ack-intr": false, + "ace2-en": false, + "pae": true, + "pat": true, + "sse": true, + "phe-en": false, + "vmx-tsc-offset": false, + "kvm-nopiodelay": true, + "tm": false, + "kvmclock-stable-bit": true, + "vmx-rdtsc-exit": false, + "hypervisor": true, + "vmx-rdtscp-exit": false, + "mds-no": true, + "pcommit": false, + "vmx-vpid": false, + "syscall": true, + "avx512dq": false, + "svm": true, + "invtsc": true, + "vmx-monitor-exit": false, + "sse2": true, + "ssbd": true, + "vmx-wbinvd-exit": false, + "est": false, + "kvm-poll-control": true, + "avx512ifma": false, + "tm2": false, + "kvm-pv-eoi": true, + "kvm-pv-ipi": true, + "cx8": true, + "vmx-invvpid-single-addr": false, + "waitpkg": false, + "cldemote": false, + "sgx-tokenkey": false, + "vmx-ept": false, + "xfd": false, + "kvm-mmu": false, + "sse4.2": true, + "pge": true, + "avx512bitalg": false, + "pdcm": false, + "vmx-entry-load-bndcfgs": false, + "vmx-exit-clear-rtit-ctl": false, + "model": 113, + "movbe": true, + "nrip-save": true, + "ssse3": true, + "sse4a": true, + "kvm-msi-ext-dest-id": false, + "vmx-pause-exit": false, + "invpcid": false, + "sgx-debug": false, + "pdpe1gb": true, + "sgx-mode64": false, + "tsc-deadline": true, + "skip-l1dfl-vmentry": true, + "vmx-exit-load-perf-global-ctrl": false, + "fma": true, + "cx16": true, + "de": true, + "stepping": 0, + "xsave": true, + "clflush": true, + "skinit": false, + "tsc": true, + "tce": false, + "fpu": true, + "ds-cpl": false, + "ibs": false, + "fma4": false, + "vmx-exit-nosave-debugctl": false, + "sgx-kss": false, + "la57": false, + "vmx-invept": false, + "osvw": true, + "apic": true, + "pmm": false, + "vmx-entry-noload-debugctl": false, + "vmx-eptad": false, + "spec-ctrl": false, + "vmx-posted-intr": false, + "vmx-apicv-register": false, + "tsc-adjust": true, + "kvm-steal-time": true, + "avx512-vp2intersect": false, + "kvmclock": true, + "vmx-zero-len-inject": false, + "pschange-mc-no": true, + "v-vmsave-vmload": false, + "vmx-rdrand-exit": false, + "sgx-provisionkey": false, + "lwp": false, + "amd-ssbd": true, + "xop": false, + "ibpb": true, + "ibrs": false, + "avx": true, + "core-capability": false, + "vmx-invept-single-context": false, + "movdiri": false, + "acpi": false, + "avx512bw": false, + "ace2": false, + "fsgsbase": true, + "vmx-ept-2mb": false, + "vmx-ept-1gb": false, + "ht": false, + "vmx-io-exit": false, + "nx": true, + "pclmulqdq": true, + "mmxext": true, + "popcnt": true, + "vaes": false, + "serialize": false, + "movdir64b": false, + "xsaves": true, + "vmx-shadow-vmcs": false, + "lm": true, + "vmx-exit-save-preemption-timer": false, + "vmx-entry-load-pat": false, + "fsrm": false, + "vmx-entry-load-perf-global-ctrl": false, + "vmx-io-bitmap": false, + "umip": true, + "vmx-store-lma": false, + "vmx-movdr-exit": false, + "pse": true, + "avx2": true, + "avic": false, + "sep": true, + "virt-ssbd": true, + "vmx-cr3-load-noexit": false, + "nodeid-msr": false, + "md-clear": false, + "misalignsse": true, + "split-lock-detect": false, + "min-xlevel": 2147483681, + "bmi1": true, + "bmi2": true, + "kvm-pv-unhalt": true, + "tsc-scale": true, + "topoext": false, + "amd-stibp": true, + "vmx-preemption-timer": false, + "clflushopt": true, + "vmx-entry-load-pkrs": false, + "vmx-vnmi-pending": false, + "monitor": false, + "vmx-vintr-pending": false, + "avx512er": false, + "full-width-write": false, + "pmm-en": false, + "pcid": false, + "taa-no": false, + "arch-capabilities": true, + "vgif": false, + "vmx-secondary-ctls": false, + "vmx-xsaves": false, + "clzero": true, + "3dnow": false, + "erms": false, + "vmx-entry-ia32e-mode": false, + "lahf-lm": true, + "vpclmulqdq": false, + "vmx-ins-outs": false, + "fxsr-opt": true, + "xstore": false, + "rtm": false, + "kvm-hint-dedicated": false, + "amx-bf16": false, + "lmce": false, + "perfctr-nb": false, + "rdrand": true, + "rdseed": true, + "avx512-4vnniw": false, + "vme": true, + "vmx": false, + "dtes64": false, + "mtrr": true, + "rdtscp": true, + "xsaveerptr": true, + "pse36": true, + "kvm-pv-tlb-flush": true, + "vmx-activity-wait-sipi": false, + "tbm": false, + "wdt": false, + "vmx-rdpmc-exit": false, + "vmx-mtf": false, + "vmx-entry-load-efer": false, + "model-id": "AMD Ryzen 9 3900X 12-Core Processor ", + "sha-ni": true, + "vmx-exit-load-pkrs": false, + "abm": true, + "vmx-ept-advanced-exitinfo": false, + "avx512pf": false, + "vmx-hlt-exit": false, + "xstore-en": false + } + } + }, + "id": "libvirt-51" +} + { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.replies index 18f70a5a3f..6a465f6856 100644 --- a/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.replies @@ -35451,6 +35451,359 @@ "id": "libvirt-50" } +{ + "execute": "query-cpu-model-expansion", + "arguments": { + "type": "full", + "model": { + "name": "host", + "props": { + "migratable": false, + "hv-passthrough": true + } + } + }, + "id": "libvirt-51" +} + +{ + "return": { + "model": { + "name": "base", + "props": { + "vmx-entry-load-rtit-ctl": false, + "svme-addr-chk": true, + "cmov": true, + "ia64": false, + "ssb-no": false, + "aes": true, + "vmx-apicv-xapic": false, + "mmx": true, + "rdpid": true, + "arat": true, + "vmx-page-walk-4": false, + "vmx-page-walk-5": false, + "gfni": false, + "ibrs-all": false, + "vmx-desc-exit": false, + "pause-filter": true, + "bus-lock-detect": false, + "xsavec": true, + "intel-pt": false, + "vmx-tsc-scaling": false, + "vmx-cr8-store-exit": false, + "vmx-rdseed-exit": false, + "vmx-eptp-switching": false, + "kvm-asyncpf": true, + "perfctr-core": true, + "mpx": false, + "pbe": false, + "avx512cd": false, + "decodeassists": false, + "vmx-exit-load-efer": false, + "vmx-exit-clear-bndcfgs": false, + "sse4.1": true, + "family": 23, + "intel-pt-lip": false, + "vmx-vmwrite-vmexit-fields": false, + "kvm-asyncpf-int": true, + "vmx-vnmi": false, + "vmx-true-ctls": false, + "vmx-ept-execonly": false, + "vmx-exit-save-efer": false, + "vmx-invept-all-context": false, + "wbnoinvd": true, + "avx512f": false, + "msr": true, + "mce": true, + "mca": true, + "xcrypt": false, + "sgx": false, + "vmx-exit-load-pat": false, + "vmx-intr-exit": false, + "min-level": 16, + "vmx-flexpriority": false, + "xgetbv1": true, + "cid": false, + "sgx-exinfo": false, + "ds": false, + "fxsr": true, + "avx512-fp16": false, + "avx512-bf16": false, + "vmx-cr8-load-exit": false, + "xsaveopt": true, + "arch-lbr": false, + "vmx-apicv-vid": false, + "vmx-exit-save-pat": false, + "xtpr": false, + "tsx-ctrl": false, + "vmx-ple": false, + "avx512vl": false, + "avx512-vpopcntdq": false, + "phe": false, + "extapic": false, + "3dnowprefetch": true, + "vmx-vmfunc": false, + "vmx-activity-shutdown": false, + "sgx1": false, + "sgx2": false, + "avx512vbmi2": false, + "cr8legacy": true, + "vmx-encls-exit": false, + "stibp": true, + "vmx-msr-bitmap": false, + "xcrypt-en": false, + "vmx-mwait-exit": false, + "vmx-pml": false, + "vmx-nmi-exit": false, + "amx-tile": false, + "vmx-invept-single-context-noglobals": false, + "pn": false, + "rsba": false, + "dca": false, + "vendor": "AuthenticAMD", + "vmx-unrestricted-guest": false, + "vmx-cr3-store-noexit": false, + "pku": false, + "pks": false, + "smx": false, + "cmp-legacy": true, + "avx512-4fmaps": false, + "vmcb-clean": true, + "hle": false, + "avx-vnni": false, + "3dnowext": false, + "amd-no-ssb": false, + "npt": true, + "sgxlc": false, + "rdctl-no": true, + "vmx-invvpid": false, + "clwb": true, + "lbrv": true, + "adx": true, + "ss": false, + "pni": true, + "tsx-ldtrk": false, + "svm-lock": false, + "smep": true, + "smap": true, + "pfthreshold": true, + "vmx-invpcid-exit": false, + "amx-int8": false, + "x2apic": true, + "avx512vbmi": false, + "avx512vnni": false, + "vmx-apicv-x2apic": false, + "kvm-pv-sched-yield": true, + "vmx-invlpg-exit": false, + "vmx-invvpid-all-context": false, + "vmx-activity-hlt": false, + "flushbyasid": false, + "f16c": true, + "vmx-exit-ack-intr": false, + "ace2-en": false, + "pae": true, + "pat": true, + "sse": true, + "phe-en": false, + "vmx-tsc-offset": false, + "kvm-nopiodelay": true, + "tm": false, + "kvmclock-stable-bit": true, + "vmx-rdtsc-exit": false, + "hypervisor": true, + "vmx-rdtscp-exit": false, + "mds-no": true, + "pcommit": false, + "vmx-vpid": false, + "syscall": true, + "avx512dq": false, + "svm": true, + "invtsc": true, + "vmx-monitor-exit": false, + "sse2": true, + "ssbd": true, + "vmx-wbinvd-exit": false, + "est": false, + "kvm-poll-control": true, + "avx512ifma": false, + "tm2": false, + "kvm-pv-eoi": true, + "kvm-pv-ipi": true, + "cx8": true, + "vmx-invvpid-single-addr": false, + "waitpkg": false, + "cldemote": false, + "sgx-tokenkey": false, + "vmx-ept": false, + "xfd": false, + "kvm-mmu": false, + "sse4.2": true, + "pge": true, + "avx512bitalg": false, + "pdcm": false, + "vmx-entry-load-bndcfgs": false, + "vmx-exit-clear-rtit-ctl": false, + "model": 113, + "movbe": true, + "nrip-save": true, + "ssse3": true, + "sse4a": true, + "kvm-msi-ext-dest-id": false, + "vmx-pause-exit": false, + "invpcid": false, + "sgx-debug": false, + "pdpe1gb": true, + "sgx-mode64": false, + "tsc-deadline": true, + "skip-l1dfl-vmentry": true, + "vmx-exit-load-perf-global-ctrl": false, + "fma": true, + "cx16": true, + "de": true, + "stepping": 0, + "xsave": true, + "clflush": true, + "skinit": false, + "tsc": true, + "tce": false, + "fpu": true, + "ds-cpl": false, + "ibs": false, + "fma4": false, + "vmx-exit-nosave-debugctl": false, + "sgx-kss": false, + "la57": false, + "vmx-invept": false, + "osvw": true, + "apic": true, + "pmm": false, + "vmx-entry-noload-debugctl": false, + "vmx-eptad": false, + "spec-ctrl": false, + "vmx-posted-intr": false, + "vmx-apicv-register": false, + "tsc-adjust": true, + "kvm-steal-time": true, + "avx512-vp2intersect": false, + "kvmclock": true, + "vmx-zero-len-inject": false, + "pschange-mc-no": true, + "v-vmsave-vmload": true, + "vmx-rdrand-exit": false, + "sgx-provisionkey": false, + "lwp": false, + "amd-ssbd": true, + "xop": false, + "ibpb": true, + "ibrs": false, + "avx": true, + "core-capability": false, + "vmx-invept-single-context": false, + "movdiri": false, + "acpi": false, + "avx512bw": false, + "ace2": false, + "fsgsbase": true, + "vmx-ept-2mb": false, + "vmx-ept-1gb": false, + "ht": false, + "vmx-io-exit": false, + "nx": true, + "pclmulqdq": true, + "mmxext": true, + "popcnt": true, + "vaes": false, + "serialize": false, + "movdir64b": false, + "xsaves": true, + "vmx-shadow-vmcs": false, + "lm": true, + "vmx-exit-save-preemption-timer": false, + "vmx-entry-load-pat": false, + "fsrm": false, + "vmx-entry-load-perf-global-ctrl": false, + "vmx-io-bitmap": false, + "umip": true, + "vmx-store-lma": false, + "vmx-movdr-exit": false, + "pse": true, + "avx2": true, + "avic": false, + "sep": true, + "virt-ssbd": true, + "vmx-cr3-load-noexit": false, + "nodeid-msr": false, + "md-clear": false, + "misalignsse": true, + "split-lock-detect": false, + "min-xlevel": 2147483681, + "bmi1": true, + "bmi2": true, + "kvm-pv-unhalt": true, + "tsc-scale": true, + "topoext": false, + "amd-stibp": true, + "vmx-preemption-timer": false, + "clflushopt": true, + "vmx-entry-load-pkrs": false, + "vmx-vnmi-pending": false, + "monitor": false, + "vmx-vintr-pending": false, + "avx512er": false, + "full-width-write": false, + "pmm-en": false, + "pcid": false, + "taa-no": false, + "arch-capabilities": true, + "vgif": true, + "vmx-secondary-ctls": false, + "vmx-xsaves": false, + "clzero": true, + "3dnow": false, + "erms": false, + "vmx-entry-ia32e-mode": false, + "lahf-lm": true, + "vpclmulqdq": false, + "vmx-ins-outs": false, + "fxsr-opt": true, + "xstore": false, + "rtm": false, + "kvm-hint-dedicated": false, + "amx-bf16": false, + "lmce": false, + "perfctr-nb": false, + "rdrand": true, + "rdseed": true, + "avx512-4vnniw": false, + "vme": true, + "vmx": false, + "dtes64": false, + "mtrr": true, + "rdtscp": true, + "xsaveerptr": true, + "pse36": true, + "kvm-pv-tlb-flush": true, + "vmx-activity-wait-sipi": false, + "tbm": false, + "wdt": false, + "vmx-rdpmc-exit": false, + "vmx-mtf": false, + "vmx-entry-load-efer": false, + "model-id": "AMD Ryzen 9 3900X 12-Core Processor ", + "sha-ni": true, + "vmx-exit-load-pkrs": false, + "abm": true, + "vmx-ept-advanced-exitinfo": false, + "avx512pf": false, + "vmx-hlt-exit": false, + "xstore-en": false + } + } + }, + "id": "libvirt-51" +} + { "execute": "qmp_capabilities", "id": "libvirt-1" -- 2.38.2

On Thu, Dec 22, 2022 at 14:01:41 +0100, Michal Privoznik wrote:
Now that we have qemuMonitorGetCPUModelExpansion() aware of Hyper-V Enlightenments, we can start querying it. Two conditions need to be met:
1) KVM is in use, 2) Arch is either x86 or arm.
It may look like modifying the first call to qemuMonitorGetCPUModelExpansion() inside of virQEMUCapsProbeQMPHostCPU() would be sufficient but it is not. We really need to ask QEMU for full expansion and the first call does not guarantee that.
For the test data, I've just copied whatever 'query-cpu-model-expansion' returned earlier, therefore there are no hv-* props. But that's okay - the full expansion is not stored in cache (and thus not formatted in tests/qemucapabilitiesdata/caps_*.replies files either). This is purely runtime thing.
Well, it is okay for test data to not contain real working data, so that part is okay. What is not okay is that you don't store it in the caps_*.xml (not .replies) because in case when you fetch the capabilities from cache and thus not from a real qemu instance tried with this particular run of libvirtd/virtqemud the 'fullQEMU' pointer will not be set. This in turn means that after restart of libvirtd the hyperv data will be missing. It's also visible when I've re-generated the capabilities in the tests with a real qemu run: I've got plenty HV features ... $ git show | grep hv- hv-expand + "hv-passthrough": true + "hv-version-id-minor": 0, + "hv-xmm-input": true, + "hv-frequencies": true, + "hv-vendor-id": "Linux KVM Hv", + "hv-syndbg": true, + "hv-runtime": true, + "hv-stimer-direct": true, + "hv-relaxed": true, + "hv-crash": true, + "hv-version-id-sbranch": 0, + "hv-version-id-snumber": 0, + "hv-evmcs": false, + "hv-version-id-spack": 0, + "hv-ipi": true, + "hv-stimer": true, + "x-hv-synic-kvm-only": false, + "hv-enforce-cpuid": false, + "hv-avic": true, + "hv-reset": true, + "hv-emsr-bitmap": true, + "hv-tlbflush-direct": false, + "hv-reenlightenment": true, + "hv-apicv": true, + "hv-version-id-build": 14393, + "hv-version-id-major": 10, + "hv-spinlocks": 4095, + "hv-passthrough": true, + "hv-vapic": true, + "x-hv-max-vps": 1024, + "hv-vpindex": true, + "hv-no-nonarch-coresharing": "off", + "hv-synic": true, + "hv-time": true, + "hv-tlbflush": true, + "hv-tlbflush-ext": false, But the 'domaincapstest' which reads the (caps_*.xml) file as if it were cached still fills the following capabilities: diff --git a/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml index efc67b2ef9..eb18b5c696 100644 --- a/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml @@ -249,5 +249,6 @@ <backup supported='yes'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml index d9b092e6fd..471a92693f 100644 --- a/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml @@ -248,5 +248,6 @@ <backup supported='yes'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml index 2b17a409bd..436ca212a8 100644 --- a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml @@ -249,5 +249,6 @@ <backup supported='yes'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities>

Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- docs/formatdomaincaps.rst | 15 +++++++++++++++ src/conf/domain_capabilities.c | 12 ++++++++++++ src/conf/domain_capabilities.h | 8 ++++++++ src/conf/schemas/domaincaps.rng | 10 ++++++++++ 4 files changed, 45 insertions(+) diff --git a/docs/formatdomaincaps.rst b/docs/formatdomaincaps.rst index 532fea0f60..dc227e9d02 100644 --- a/docs/formatdomaincaps.rst +++ b/docs/formatdomaincaps.rst @@ -624,6 +624,12 @@ capabilities. All features occur as children of the main ``features`` element. <section node='1' size='262144' unit='KiB'/> </sections> </sgx> + <hyperv supported='yes'> + <enum name='features'> + <value>relaxed</value> + <value>vapic</value> + </enum> + </hyperv> </features> </domainCapabilities> @@ -733,3 +739,12 @@ document store. In order to use SGX with libvirt have a look at `SGX in domain X ``sections`` The sections of the SGX enclave page cache (called EPC). + + +Hyper-V Enlightenments +^^^^^^^^^^^^^^^^^^^^^^ + +Report which features improving behavior of guests running Microsoft Windows +are supported. The ``features`` enum corresponds to the ``<hyperv/>`` element +(well, its children) as documented in `Hypervisor features +<formatdomain.html#hypervisor-features>`__ diff --git a/src/conf/domain_capabilities.c b/src/conf/domain_capabilities.c index 4e412c0fd8..88bb8e2872 100644 --- a/src/conf/domain_capabilities.c +++ b/src/conf/domain_capabilities.c @@ -684,6 +684,17 @@ virDomainCapsFeatureSGXFormat(virBuffer *buf, virBufferAddLit(buf, "</sgx>\n"); } +static void +virDomainCapsFeatureHypervFormat(virBuffer *buf, + const virDomainCapsFeatureHyperv *hyperv) +{ + FORMAT_PROLOGUE(hyperv); + + ENUM_PROCESS(hyperv, features, virDomainHypervTypeToString); + + FORMAT_EPILOGUE(hyperv); +} + static void virDomainCapsFormatFeatures(const virDomainCaps *caps, virBuffer *buf) @@ -704,6 +715,7 @@ virDomainCapsFormatFeatures(const virDomainCaps *caps, virDomainCapsFeatureSEVFormat(&childBuf, caps->sev); virDomainCapsFeatureSGXFormat(&childBuf, caps->sgx); + virDomainCapsFeatureHypervFormat(&childBuf, &caps->hyperv); virXMLFormatElement(buf, "features", NULL, &childBuf); } diff --git a/src/conf/domain_capabilities.h b/src/conf/domain_capabilities.h index 1d504a3506..5ed29c7444 100644 --- a/src/conf/domain_capabilities.h +++ b/src/conf/domain_capabilities.h @@ -158,6 +158,13 @@ struct _virDomainCapsFeatureGIC { virDomainCapsEnum version; /* Info about virGICVersion */ }; +STATIC_ASSERT_ENUM(VIR_DOMAIN_HYPERV_LAST); +typedef struct _virDomainCapsFeatureHyperv virDomainCapsFeatureHyperv; +struct _virDomainCapsFeatureHyperv { + virTristateBool supported; + virDomainCapsEnum features; /* Info about supported virDomainHyperv features */ +}; + typedef enum { VIR_DOMCAPS_CPU_USABLE_UNKNOWN, VIR_DOMCAPS_CPU_USABLE_YES, @@ -263,6 +270,7 @@ struct _virDomainCaps { virDomainCapsFeatureGIC gic; virSEVCapability *sev; virSGXCapability *sgx; + virDomainCapsFeatureHyperv hyperv; /* add new domain features here */ virTristateBool features[VIR_DOMAIN_CAPS_FEATURE_LAST]; diff --git a/src/conf/schemas/domaincaps.rng b/src/conf/schemas/domaincaps.rng index b6408bca88..4b96e89dfa 100644 --- a/src/conf/schemas/domaincaps.rng +++ b/src/conf/schemas/domaincaps.rng @@ -296,6 +296,9 @@ <optional> <ref name="sgx"/> </optional> + <optional> + <ref name="hyperv"/> + </optional> </element> </define> @@ -396,6 +399,13 @@ </element> </define> + <define name="hyperv"> + <element name="hyperv"> + <ref name="supported"/> + <ref name="enum"/> + </element> + </define> + <define name="value"> <zeroOrMore> <element name="value"> -- 2.38.2

Inside of qemuCaps (for the corresponding accelerator) we have full host CPU expansion stored, among with supported Hyper-V Enlightenments. To report them in the domain capabilities, we just have to pick those starting with "hv-" and see if we know them. You may notice that neither of our domaincapsdata test shows any enlightenment. This is because the test works by parsing corresponding qemucapabilitiesdata/caps_*.xml file and none of these store the full host CPU expansion (hostCPU.fullQEMU) because that is runtime piece of information and not formatted into virQEMUCaps XML. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1717611 Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/qemu/qemu_capabilities.c | 57 +++++++++++++++++++ .../domaincapsdata/qemu_4.2.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_4.2.0-tcg.x86_64.xml | 1 + .../qemu_4.2.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_4.2.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_4.2.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_4.2.0.s390x.xml | 1 + tests/domaincapsdata/qemu_4.2.0.x86_64.xml | 1 + .../domaincapsdata/qemu_5.0.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_5.0.0-tcg.x86_64.xml | 1 + .../qemu_5.0.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_5.0.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_5.0.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_5.0.0.x86_64.xml | 1 + .../domaincapsdata/qemu_5.1.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_5.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_5.1.0.sparc.xml | 1 + tests/domaincapsdata/qemu_5.1.0.x86_64.xml | 1 + .../domaincapsdata/qemu_5.2.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 1 + .../qemu_5.2.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_5.2.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_5.2.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_5.2.0.s390x.xml | 1 + tests/domaincapsdata/qemu_5.2.0.x86_64.xml | 1 + .../domaincapsdata/qemu_6.0.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 1 + .../qemu_6.0.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_6.0.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_6.0.0.s390x.xml | 1 + tests/domaincapsdata/qemu_6.0.0.x86_64.xml | 1 + .../domaincapsdata/qemu_6.1.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_6.1.0.x86_64.xml | 1 + .../domaincapsdata/qemu_6.2.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 1 + .../qemu_6.2.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_6.2.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_6.2.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_6.2.0.x86_64.xml | 1 + .../domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 1 + .../qemu_7.0.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_7.0.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_7.0.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 1 + .../domaincapsdata/qemu_7.1.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.1.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_7.1.0.x86_64.xml | 1 + .../domaincapsdata/qemu_7.2.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_7.2.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.2.0.x86_64.xml | 1 + 53 files changed, 109 insertions(+) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index fd09d52b6d..4fac108982 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -6674,6 +6674,62 @@ virQEMUCapsFillDomainFeatureSGXCaps(virQEMUCaps *qemuCaps, virQEMUCapsSGXInfoCopy(&domCaps->sgx, qemuCaps->sgxCapabilities); } + +static void +virQEMUCapsFillDomainFeatureHypervCaps(virQEMUCaps *qemuCaps, + virDomainCaps *domCaps) +{ + virDomainCapsFeatureHyperv *hvcaps = &domCaps->hyperv; + qemuMonitorCPUModelInfo *fullQEMU = NULL; + size_t i; + + fullQEMU = virQEMUCapsGetAccel(qemuCaps, domCaps->virttype)->hostCPU.fullQEMU; + + if (!fullQEMU) { + hvcaps->supported = VIR_TRISTATE_BOOL_NO; + return; + } + + hvcaps->supported = VIR_TRISTATE_BOOL_YES; + hvcaps->features.report = true; + + for (i = 0; i <fullQEMU->nprops; i++) { + qemuMonitorCPUProperty prop = fullQEMU->props[i]; + const char *name; + int hvprop; + + if (!(name = STRSKIP(prop.name, "hv-"))) + continue; + + hvprop = virDomainHypervTypeFromString(name); + + if (hvprop < 0) { + /* Some names are different. For instance QEMU reports hv-vendor-id + * but we have it as vendor_id (because of XML). Replace hyphens + * with underscores and try again. */ + g_autofree char *underscoreName = NULL; + + underscoreName = virStringReplace(name, "-", "_"); + + hvprop = virDomainHypervTypeFromString(underscoreName); + if (hvprop < 0) { + VIR_DEBUG("Not yet implement Hyper-V enlightenment: %s", + prop.name); + continue; + } + } + + if ((prop.type == QEMU_MONITOR_CPU_PROPERTY_BOOLEAN && + prop.value.boolean) || + (prop.type == QEMU_MONITOR_CPU_PROPERTY_NUMBER && + prop.value.number > 0) || + (prop.type == QEMU_MONITOR_CPU_PROPERTY_STRING && + prop.value.string)) + VIR_DOMAIN_CAPS_ENUM_SET(hvcaps->features, hvprop); + } +} + + int virQEMUCapsFillDomainCaps(virQEMUCaps *qemuCaps, virArch hostarch, @@ -6730,6 +6786,7 @@ virQEMUCapsFillDomainCaps(virQEMUCaps *qemuCaps, virQEMUCapsFillDomainFeatureSEVCaps(qemuCaps, domCaps); virQEMUCapsFillDomainFeatureS390PVCaps(qemuCaps, domCaps); virQEMUCapsFillDomainFeatureSGXCaps(qemuCaps, domCaps); + virQEMUCapsFillDomainFeatureHypervCaps(qemuCaps, domCaps); return 0; } diff --git a/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml index d0bf0bdc7b..49550e799f 100644 --- a/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml @@ -238,5 +238,6 @@ <backup supported='no'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml index 6a3818fb4e..a5a1eb71fb 100644 --- a/tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml @@ -253,5 +253,6 @@ <backup supported='no'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml b/tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml index 02aca3e448..e001128bf5 100644 --- a/tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml +++ b/tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml @@ -185,5 +185,6 @@ <backup supported='no'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_4.2.0.aarch64.xml b/tests/domaincapsdata/qemu_4.2.0.aarch64.xml index 676e1b0739..5aa9520fab 100644 --- a/tests/domaincapsdata/qemu_4.2.0.aarch64.xml +++ b/tests/domaincapsdata/qemu_4.2.0.aarch64.xml @@ -179,5 +179,6 @@ <backup supported='no'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_4.2.0.ppc64.xml b/tests/domaincapsdata/qemu_4.2.0.ppc64.xml index bcc415d7de..2017a0cf44 100644 --- a/tests/domaincapsdata/qemu_4.2.0.ppc64.xml +++ b/tests/domaincapsdata/qemu_4.2.0.ppc64.xml @@ -152,5 +152,6 @@ <backup supported='no'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_4.2.0.s390x.xml b/tests/domaincapsdata/qemu_4.2.0.s390x.xml index 4f176e2d37..e9c082244b 100644 --- a/tests/domaincapsdata/qemu_4.2.0.s390x.xml +++ b/tests/domaincapsdata/qemu_4.2.0.s390x.xml @@ -259,5 +259,6 @@ <s390-pv supported='no'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_4.2.0.x86_64.xml b/tests/domaincapsdata/qemu_4.2.0.x86_64.xml index 36a4081764..c67217d4ac 100644 --- a/tests/domaincapsdata/qemu_4.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_4.2.0.x86_64.xml @@ -238,5 +238,6 @@ <backup supported='no'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml index 05884cdb86..bf8c6a5a54 100644 --- a/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml @@ -240,5 +240,6 @@ <backup supported='no'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml index c53b84c140..ebab6a15f3 100644 --- a/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml @@ -255,5 +255,6 @@ <backup supported='no'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_5.0.0-virt.aarch64.xml b/tests/domaincapsdata/qemu_5.0.0-virt.aarch64.xml index e74a3d9f5f..071187cfaf 100644 --- a/tests/domaincapsdata/qemu_5.0.0-virt.aarch64.xml +++ b/tests/domaincapsdata/qemu_5.0.0-virt.aarch64.xml @@ -198,5 +198,6 @@ <backup supported='no'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_5.0.0.aarch64.xml b/tests/domaincapsdata/qemu_5.0.0.aarch64.xml index 605575c793..05ba8f5a83 100644 --- a/tests/domaincapsdata/qemu_5.0.0.aarch64.xml +++ b/tests/domaincapsdata/qemu_5.0.0.aarch64.xml @@ -192,5 +192,6 @@ <backup supported='no'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_5.0.0.ppc64.xml b/tests/domaincapsdata/qemu_5.0.0.ppc64.xml index a5b718618b..35d6733d23 100644 --- a/tests/domaincapsdata/qemu_5.0.0.ppc64.xml +++ b/tests/domaincapsdata/qemu_5.0.0.ppc64.xml @@ -159,5 +159,6 @@ <backup supported='no'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_5.0.0.x86_64.xml b/tests/domaincapsdata/qemu_5.0.0.x86_64.xml index fd1f42b555..c3ac6668af 100644 --- a/tests/domaincapsdata/qemu_5.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.0.0.x86_64.xml @@ -240,5 +240,6 @@ <backup supported='no'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml index a04c3e7130..f8eeb3c097 100644 --- a/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml @@ -241,5 +241,6 @@ <backup supported='no'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml index a7b2ff8d7d..5a6aee6bda 100644 --- a/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml @@ -255,5 +255,6 @@ <backup supported='no'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_5.1.0.sparc.xml b/tests/domaincapsdata/qemu_5.1.0.sparc.xml index cde31462bc..f3ad4d43cb 100644 --- a/tests/domaincapsdata/qemu_5.1.0.sparc.xml +++ b/tests/domaincapsdata/qemu_5.1.0.sparc.xml @@ -126,5 +126,6 @@ <backup supported='no'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_5.1.0.x86_64.xml b/tests/domaincapsdata/qemu_5.1.0.x86_64.xml index 45b7dcf6e4..6cf741e7ea 100644 --- a/tests/domaincapsdata/qemu_5.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.1.0.x86_64.xml @@ -241,5 +241,6 @@ <backup supported='no'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml index 61cfa7d449..bf642e4956 100644 --- a/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml @@ -241,5 +241,6 @@ <backup supported='no'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml index caced52187..8d1702b5e3 100644 --- a/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml @@ -255,5 +255,6 @@ <backup supported='no'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_5.2.0-virt.aarch64.xml b/tests/domaincapsdata/qemu_5.2.0-virt.aarch64.xml index f19ad32693..43febfb61a 100644 --- a/tests/domaincapsdata/qemu_5.2.0-virt.aarch64.xml +++ b/tests/domaincapsdata/qemu_5.2.0-virt.aarch64.xml @@ -198,5 +198,6 @@ <backup supported='no'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_5.2.0.aarch64.xml b/tests/domaincapsdata/qemu_5.2.0.aarch64.xml index 605575c793..05ba8f5a83 100644 --- a/tests/domaincapsdata/qemu_5.2.0.aarch64.xml +++ b/tests/domaincapsdata/qemu_5.2.0.aarch64.xml @@ -192,5 +192,6 @@ <backup supported='no'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_5.2.0.ppc64.xml b/tests/domaincapsdata/qemu_5.2.0.ppc64.xml index 8ae7487c1e..87dd5cd28e 100644 --- a/tests/domaincapsdata/qemu_5.2.0.ppc64.xml +++ b/tests/domaincapsdata/qemu_5.2.0.ppc64.xml @@ -159,5 +159,6 @@ <backup supported='no'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_5.2.0.s390x.xml b/tests/domaincapsdata/qemu_5.2.0.s390x.xml index 760f514d7b..7e7f58acd6 100644 --- a/tests/domaincapsdata/qemu_5.2.0.s390x.xml +++ b/tests/domaincapsdata/qemu_5.2.0.s390x.xml @@ -261,5 +261,6 @@ <s390-pv supported='no'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml b/tests/domaincapsdata/qemu_5.2.0.x86_64.xml index 67f8b0fd83..61969bcffd 100644 --- a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.2.0.x86_64.xml @@ -241,5 +241,6 @@ <backup supported='no'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml index 08585e6cb0..c9c5506536 100644 --- a/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml @@ -248,5 +248,6 @@ <maxESGuests>450</maxESGuests> </sev> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml index 7536a42ad5..eb42eec406 100644 --- a/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml @@ -263,5 +263,6 @@ <maxESGuests>450</maxESGuests> </sev> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_6.0.0-virt.aarch64.xml b/tests/domaincapsdata/qemu_6.0.0-virt.aarch64.xml index 1235dd0ab7..def36192f5 100644 --- a/tests/domaincapsdata/qemu_6.0.0-virt.aarch64.xml +++ b/tests/domaincapsdata/qemu_6.0.0-virt.aarch64.xml @@ -200,5 +200,6 @@ <backup supported='no'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_6.0.0.aarch64.xml b/tests/domaincapsdata/qemu_6.0.0.aarch64.xml index 461e34f1d6..7177d16fa4 100644 --- a/tests/domaincapsdata/qemu_6.0.0.aarch64.xml +++ b/tests/domaincapsdata/qemu_6.0.0.aarch64.xml @@ -194,5 +194,6 @@ <backup supported='no'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_6.0.0.s390x.xml b/tests/domaincapsdata/qemu_6.0.0.s390x.xml index b1968668db..b977b494d4 100644 --- a/tests/domaincapsdata/qemu_6.0.0.s390x.xml +++ b/tests/domaincapsdata/qemu_6.0.0.s390x.xml @@ -262,5 +262,6 @@ <s390-pv supported='yes'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml index 632f7c21d1..a5333e5293 100644 --- a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml @@ -248,5 +248,6 @@ <maxESGuests>450</maxESGuests> </sev> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml index 35d1014626..b0480cf625 100644 --- a/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml @@ -244,5 +244,6 @@ <backup supported='yes'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml index 9d56f2dda7..5e89b5d17b 100644 --- a/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml @@ -258,5 +258,6 @@ <backup supported='yes'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml index 591ca12d72..4a3cdbe758 100644 --- a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml @@ -244,5 +244,6 @@ <backup supported='yes'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml index 7558e78423..064d0014c6 100644 --- a/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml @@ -244,5 +244,6 @@ <backup supported='yes'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml index c667b944da..194712f95c 100644 --- a/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml @@ -260,5 +260,6 @@ <backup supported='yes'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_6.2.0-virt.aarch64.xml b/tests/domaincapsdata/qemu_6.2.0-virt.aarch64.xml index 2c9ba98a0a..1da26e9c36 100644 --- a/tests/domaincapsdata/qemu_6.2.0-virt.aarch64.xml +++ b/tests/domaincapsdata/qemu_6.2.0-virt.aarch64.xml @@ -207,5 +207,6 @@ <backup supported='yes'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_6.2.0.aarch64.xml b/tests/domaincapsdata/qemu_6.2.0.aarch64.xml index 9b546f59bc..2878c9d42e 100644 --- a/tests/domaincapsdata/qemu_6.2.0.aarch64.xml +++ b/tests/domaincapsdata/qemu_6.2.0.aarch64.xml @@ -201,5 +201,6 @@ <backup supported='yes'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_6.2.0.ppc64.xml b/tests/domaincapsdata/qemu_6.2.0.ppc64.xml index fd7c9d8d5a..a2d6428c2f 100644 --- a/tests/domaincapsdata/qemu_6.2.0.ppc64.xml +++ b/tests/domaincapsdata/qemu_6.2.0.ppc64.xml @@ -158,5 +158,6 @@ <backup supported='yes'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml index a20d3722fd..1da12ba5f1 100644 --- a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml @@ -244,5 +244,6 @@ <backup supported='yes'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml index ac9d384bb3..7e24baf97f 100644 --- a/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml @@ -254,5 +254,6 @@ <section node='1' size='262144' unit='KiB'/> </sections> </sgx> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml index 2419875474..1fe6b606fa 100644 --- a/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml @@ -270,5 +270,6 @@ <section node='1' size='262144' unit='KiB'/> </sections> </sgx> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_7.0.0-virt.aarch64.xml b/tests/domaincapsdata/qemu_7.0.0-virt.aarch64.xml index f4eb8a728b..e3f1b2d2c0 100644 --- a/tests/domaincapsdata/qemu_7.0.0-virt.aarch64.xml +++ b/tests/domaincapsdata/qemu_7.0.0-virt.aarch64.xml @@ -206,5 +206,6 @@ <backup supported='yes'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_7.0.0.aarch64.xml b/tests/domaincapsdata/qemu_7.0.0.aarch64.xml index 053bec369b..6cae496a8e 100644 --- a/tests/domaincapsdata/qemu_7.0.0.aarch64.xml +++ b/tests/domaincapsdata/qemu_7.0.0.aarch64.xml @@ -200,5 +200,6 @@ <backup supported='yes'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_7.0.0.ppc64.xml b/tests/domaincapsdata/qemu_7.0.0.ppc64.xml index 9c09174d77..f957e8167d 100644 --- a/tests/domaincapsdata/qemu_7.0.0.ppc64.xml +++ b/tests/domaincapsdata/qemu_7.0.0.ppc64.xml @@ -163,5 +163,6 @@ <backup supported='yes'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml index 886e14ea49..f8b9526831 100644 --- a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml @@ -254,5 +254,6 @@ <section node='1' size='262144' unit='KiB'/> </sections> </sgx> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml index 6b5e8a6820..77e015659d 100644 --- a/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml @@ -244,5 +244,6 @@ <backup supported='yes'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml index e44804c21c..56ac94c8d7 100644 --- a/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml @@ -259,5 +259,6 @@ <backup supported='yes'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_7.1.0.ppc64.xml b/tests/domaincapsdata/qemu_7.1.0.ppc64.xml index 15cf6a9cf8..3ea6fa0943 100644 --- a/tests/domaincapsdata/qemu_7.1.0.ppc64.xml +++ b/tests/domaincapsdata/qemu_7.1.0.ppc64.xml @@ -156,5 +156,6 @@ <backup supported='yes'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml index d4069dd6f0..dc5f9d7148 100644 --- a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml @@ -244,5 +244,6 @@ <backup supported='yes'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml index e6997ccbc6..d58fafde51 100644 --- a/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml @@ -249,5 +249,6 @@ <backup supported='yes'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml index b9bf0b6a04..e5428beea1 100644 --- a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml @@ -248,5 +248,6 @@ <backup supported='yes'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml index 67ecdc0b12..fa1cb45d65 100644 --- a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml @@ -249,5 +249,6 @@ <backup supported='yes'/> <sev supported='no'/> <sgx supported='no'/> + <hyperv supported='no'/> </features> </domainCapabilities> -- 2.38.2
participants (2)
-
Michal Privoznik
-
Peter Krempa