[PATCH 0/7] qemu: Fix some more migration issues related to vmx-* features

Sigh. Jiri Denemark (7): qemu: Drop vmx-* from migratable CPU model only when origCPU is set qemu: Do not drop unknown CPU features from domain XML cpu-data.py: Properly handle aliases qemu: Translate vmx-invvpid-single-context-noglobals CPU feature qemu: Replace big condition in virQEMUCapsCPUFilterFeatures with array cpu_map: Drop vmx-ept-{uc,wb} features from CPU models cpu_map: Drop vmx-invvpid-single-context from CPU models src/cpu_map/sync_qemu_features_i386.py | 3 -- src/cpu_map/sync_qemu_models_i386.py | 5 ++- src/cpu_map/x86_Broadwell-IBRS.xml | 2 -- src/cpu_map/x86_Broadwell-noTSX-IBRS.xml | 2 -- src/cpu_map/x86_Broadwell-noTSX.xml | 2 -- src/cpu_map/x86_Broadwell.xml | 2 -- src/cpu_map/x86_Cascadelake-Server-noTSX.xml | 2 -- src/cpu_map/x86_Cascadelake-Server.xml | 2 -- src/cpu_map/x86_Cooperlake.xml | 2 -- src/cpu_map/x86_GraniteRapids.xml | 2 -- src/cpu_map/x86_Haswell-IBRS.xml | 2 -- src/cpu_map/x86_Haswell-noTSX-IBRS.xml | 2 -- src/cpu_map/x86_Haswell-noTSX.xml | 2 -- src/cpu_map/x86_Haswell.xml | 2 -- src/cpu_map/x86_Icelake-Server-noTSX.xml | 2 -- src/cpu_map/x86_Icelake-Server.xml | 2 -- src/cpu_map/x86_IvyBridge-IBRS.xml | 2 -- src/cpu_map/x86_IvyBridge.xml | 2 -- src/cpu_map/x86_Nehalem-IBRS.xml | 2 -- src/cpu_map/x86_Nehalem.xml | 2 -- src/cpu_map/x86_SandyBridge-IBRS.xml | 2 -- src/cpu_map/x86_SandyBridge.xml | 2 -- src/cpu_map/x86_SapphireRapids.xml | 2 -- src/cpu_map/x86_Skylake-Client-IBRS.xml | 2 -- src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml | 2 -- src/cpu_map/x86_Skylake-Client.xml | 2 -- src/cpu_map/x86_Skylake-Server-IBRS.xml | 2 -- src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml | 2 -- src/cpu_map/x86_Skylake-Server.xml | 2 -- src/cpu_map/x86_Snowridge.xml | 2 -- src/cpu_map/x86_Westmere-IBRS.xml | 2 -- src/cpu_map/x86_Westmere.xml | 2 -- src/qemu/qemu_capabilities.c | 19 +++++++---- src/qemu/qemu_command.c | 13 +++++++- src/qemu/qemu_domain.c | 26 +++++++-------- src/qemu/qemu_process.c | 32 ------------------- tests/cputestdata/cpu-data.py | 5 +++ .../x86_64-cpuid-Atom-P5362-enabled.xml | 2 +- .../x86_64-cpuid-Atom-P5362-json.xml | 1 + .../x86_64-cpuid-Cooperlake-enabled.xml | 2 +- .../x86_64-cpuid-Cooperlake-json.xml | 1 + .../x86_64-cpuid-Core-i7-8550U-enabled.xml | 2 +- .../x86_64-cpuid-Core-i7-8550U-json.xml | 1 + ...86_64-cpuid-Xeon-Platinum-9242-enabled.xml | 2 +- .../x86_64-cpuid-Xeon-Platinum-9242-json.xml | 1 + ...-cpuid-baseline-Cooperlake+Cascadelake.xml | 1 + 46 files changed, 53 insertions(+), 123 deletions(-) -- 2.46.2

When qemuDomainMakeCPUMigratable is called with origCPU == NULL the code just removed all vmx-* features marked as added in the specified CPU model just like when origCPU is not NULL, but does not list any of the vmx-* features. But this is wrong, we should not touch these features at all when no origCPU is supplied, which happens when parsing XML passed by a user (e.g., migration XML). Such XML is supposed to be generated by libvirt as migration XML and contains only vmx-* features explicitly requested by a user. https://issues.redhat.com/browse/RHEL-52314 Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/qemu/qemu_domain.c | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index b6762cc372..f8eac603ec 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -6889,23 +6889,21 @@ qemuDomainMakeCPUMigratable(virArch arch, virCPUDefUpdateFeature(cpu, "pconfig", VIR_CPU_FEATURE_DISABLE); } - if (virCPUx86GetAddedFeatures(cpu->model, &data.added) < 0) - return -1; - - /* Drop features marked as added in a cpu model, but only - * when they are not mentioned in origCPU, i.e., when they were not - * explicitly mentioned by the user. - */ - if (data.added) { - g_auto(GStrv) keep = NULL; + if (origCPU) { + if (virCPUx86GetAddedFeatures(cpu->model, &data.added) < 0) + return -1; - if (origCPU) { - keep = virCPUDefListExplicitFeatures(origCPU); + /* Drop features marked as added in a cpu model, but only + * when they are not mentioned in origCPU, i.e., when they were not + * explicitly mentioned by the user. + */ + if (data.added) { + g_auto(GStrv) keep = virCPUDefListExplicitFeatures(origCPU); data.keep = keep; - } - if (virCPUDefFilterFeatures(cpu, qemuDomainDropAddedCPUFeatures, &data) < 0) - return -1; + if (virCPUDefFilterFeatures(cpu, qemuDomainDropAddedCPUFeatures, &data) < 0) + return -1; + } } return 0; -- 2.46.2

CPU features with policy='disable' which are unknown to QEMU may be safely skipped when generating the -cpu command line, but we should still keep them in the domain definition so that we can properly check they are disabled after migrating the domain to a newer QEMU. Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/qemu/qemu_command.c | 13 ++++++++++++- src/qemu/qemu_process.c | 32 -------------------------------- 2 files changed, 12 insertions(+), 33 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index a0c9e5f8b3..b4888a5822 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -6095,6 +6095,7 @@ qemuBuildCpuModelArgStr(virQEMUDriver *driver, { size_t i; virCPUDef *cpu = def->cpu; + g_auto(GStrv) knownFeatures = NULL; switch ((virCPUMode) cpu->mode) { case VIR_CPU_MODE_HOST_PASSTHROUGH: @@ -6153,9 +6154,14 @@ qemuBuildCpuModelArgStr(virQEMUDriver *driver, if (cpu->vendor_id) virBufferAsprintf(buf, ",vendor=%s", cpu->vendor_id); + if (ARCH_IS_X86(def->os.arch) && + virQEMUCapsGetCPUFeatures(qemuCaps, def->virtType, false, &knownFeatures) < 0) + return -1; + for (i = 0; i < cpu->nfeatures; i++) { const char *featname = virQEMUCapsCPUFeatureToQEMU(def->os.arch, cpu->features[i].name); + switch ((virCPUFeaturePolicy) cpu->features[i].policy) { case VIR_CPU_FEATURE_FORCE: case VIR_CPU_FEATURE_REQUIRE: @@ -6164,7 +6170,12 @@ qemuBuildCpuModelArgStr(virQEMUDriver *driver, case VIR_CPU_FEATURE_DISABLE: case VIR_CPU_FEATURE_FORBID: - virBufferAsprintf(buf, ",%s=off", featname); + /* Features unknown to QEMU are implicitly disabled and we can just + * skip them. */ + if (!knownFeatures || + g_strv_contains((const char **) knownFeatures, cpu->features[i].name)) { + virBufferAsprintf(buf, ",%s=off", featname); + } break; case VIR_CPU_FEATURE_OPTIONAL: diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index a00066e88e..0e9e1a8efc 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -6212,26 +6212,6 @@ qemuProcessSetupHotpluggableVcpus(virDomainObj *vm, } -static bool -qemuProcessDropUnknownCPUFeatures(const char *name, - virCPUFeaturePolicy policy, - void *opaque) -{ - const char **features = opaque; - - if (policy != VIR_CPU_FEATURE_DISABLE && - policy != VIR_CPU_FEATURE_FORBID) - return true; - - if (g_strv_contains(features, name)) - return true; - - /* Features unknown to QEMU are implicitly disabled, we can just drop them - * from the definition. */ - return false; -} - - static int qemuProcessUpdateGuestCPU(virDomainDef *def, virQEMUCaps *qemuCaps, @@ -6325,18 +6305,6 @@ qemuProcessUpdateGuestCPU(virDomainDef *def, &def->os.arch) < 0) return -1; - if (ARCH_IS_X86(def->os.arch)) { - g_auto(GStrv) features = NULL; - - if (virQEMUCapsGetCPUFeatures(qemuCaps, def->virtType, false, &features) < 0) - return -1; - - if (features && - virCPUDefFilterFeatures(def->cpu, qemuProcessDropUnknownCPUFeatures, - features) < 0) - return -1; - } - return 0; } -- 2.46.2

The script is used to create data files for cputest from QEMU replies. By ignoring aliases we might end up thinking a feature is not enabled by QEMU just because its name differs from the primary one in the CPU map. Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- tests/cputestdata/cpu-data.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/cputestdata/cpu-data.py b/tests/cputestdata/cpu-data.py index 37fb2e3791..b280eed436 100755 --- a/tests/cputestdata/cpu-data.py +++ b/tests/cputestdata/cpu-data.py @@ -457,6 +457,11 @@ def parseMap(): for reg in _KEYS[data.tag] + _REGS[data.tag]: feature[reg] = int(data.attrib.get(reg, "0"), 0) cpuMap[f.attrib["name"]] = feature + + for alias in f.iterfind("alias"): + if alias.attrib["source"] == "qemu": + cpuMap[alias.attrib["name"]] = feature + return cpuMap -- 2.46.2

This feature is called "vmx-invept-single-context-noglobals" in QEMU and our CPU map even contains the appropriate alias. But we failed to actually translate the name when talking to QEMU. Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/qemu/qemu_capabilities.c | 1 + tests/cputestdata/x86_64-cpuid-Atom-P5362-enabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-Atom-P5362-json.xml | 1 + tests/cputestdata/x86_64-cpuid-Cooperlake-enabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-Cooperlake-json.xml | 1 + tests/cputestdata/x86_64-cpuid-Core-i7-8550U-enabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-Core-i7-8550U-json.xml | 1 + tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-enabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-json.xml | 1 + .../x86_64-cpuid-baseline-Cooperlake+Cascadelake.xml | 1 + 10 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 6a0f3e2ab7..1d7ac9803d 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -3570,6 +3570,7 @@ virQEMUCapsCPUFeatureTranslationTable virQEMUCapsCPUFeaturesX86[] = { {"perfctr_core", "perfctr-core"}, {"perfctr_nb", "perfctr-nb"}, {"tsc_adjust", "tsc-adjust"}, + {"vmx-invvpid-single-context-noglobals", "vmx-invept-single-context-noglobals"}, {NULL, NULL} }; diff --git a/tests/cputestdata/x86_64-cpuid-Atom-P5362-enabled.xml b/tests/cputestdata/x86_64-cpuid-Atom-P5362-enabled.xml index 80c24facdf..77613d6071 100644 --- a/tests/cputestdata/x86_64-cpuid-Atom-P5362-enabled.xml +++ b/tests/cputestdata/x86_64-cpuid-Atom-P5362-enabled.xml @@ -10,7 +10,7 @@ <msr index='0x480' edx='0x00c00000' eax='0x00000000'/> <msr index='0x485' edx='0x00000000' eax='0x20000060'/> <msr index='0x48b' edx='0x00000000' eax='0x00136bff'/> - <msr index='0x48c' edx='0x00000501' eax='0x06330041'/> + <msr index='0x48c' edx='0x00000d01' eax='0x06330041'/> <msr index='0x48d' edx='0x00000000' eax='0x000000e9'/> <msr index='0x48e' edx='0x00000000' eax='0xfbf99e8c'/> <msr index='0x48f' edx='0x00000000' eax='0x007c8004'/> diff --git a/tests/cputestdata/x86_64-cpuid-Atom-P5362-json.xml b/tests/cputestdata/x86_64-cpuid-Atom-P5362-json.xml index b334e9062c..ed30dfe008 100644 --- a/tests/cputestdata/x86_64-cpuid-Atom-P5362-json.xml +++ b/tests/cputestdata/x86_64-cpuid-Atom-P5362-json.xml @@ -50,6 +50,7 @@ <feature policy='require' name='vmx-invvpid'/> <feature policy='require' name='vmx-invvpid-single-addr'/> <feature policy='require' name='vmx-invvpid-all-context'/> + <feature policy='require' name='vmx-invvpid-single-context-noglobals'/> <feature policy='require' name='vmx-intr-exit'/> <feature policy='require' name='vmx-nmi-exit'/> <feature policy='require' name='vmx-vnmi'/> diff --git a/tests/cputestdata/x86_64-cpuid-Cooperlake-enabled.xml b/tests/cputestdata/x86_64-cpuid-Cooperlake-enabled.xml index c42a69d102..08609a89a5 100644 --- a/tests/cputestdata/x86_64-cpuid-Cooperlake-enabled.xml +++ b/tests/cputestdata/x86_64-cpuid-Cooperlake-enabled.xml @@ -11,7 +11,7 @@ <msr index='0x480' edx='0x00c00000' eax='0x00000000'/> <msr index='0x485' edx='0x00000000' eax='0x20000060'/> <msr index='0x48b' edx='0x00000000' eax='0x00137bff'/> - <msr index='0x48c' edx='0x00000501' eax='0x06330041'/> + <msr index='0x48c' edx='0x00000d01' eax='0x06330041'/> <msr index='0x48d' edx='0x00000000' eax='0x000000e9'/> <msr index='0x48e' edx='0x00000000' eax='0xfbf99e8c'/> <msr index='0x48f' edx='0x00000000' eax='0x007c8004'/> diff --git a/tests/cputestdata/x86_64-cpuid-Cooperlake-json.xml b/tests/cputestdata/x86_64-cpuid-Cooperlake-json.xml index 822deb46cf..8d91a319a3 100644 --- a/tests/cputestdata/x86_64-cpuid-Cooperlake-json.xml +++ b/tests/cputestdata/x86_64-cpuid-Cooperlake-json.xml @@ -46,6 +46,7 @@ <feature policy='require' name='vmx-invvpid'/> <feature policy='require' name='vmx-invvpid-single-addr'/> <feature policy='require' name='vmx-invvpid-all-context'/> + <feature policy='require' name='vmx-invvpid-single-context-noglobals'/> <feature policy='require' name='vmx-intr-exit'/> <feature policy='require' name='vmx-nmi-exit'/> <feature policy='require' name='vmx-vnmi'/> diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-enabled.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-enabled.xml index 19dd4f6f0c..424c2492bd 100644 --- a/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-enabled.xml +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-enabled.xml @@ -9,7 +9,7 @@ <msr index='0x480' edx='0x00c00000' eax='0x00000000'/> <msr index='0x485' edx='0x00000000' eax='0x20000060'/> <msr index='0x48b' edx='0x00000000' eax='0x001378ff'/> - <msr index='0x48c' edx='0x00000501' eax='0x06330041'/> + <msr index='0x48c' edx='0x00000d01' eax='0x06330041'/> <msr index='0x48d' edx='0x00000000' eax='0x00000069'/> <msr index='0x48e' edx='0x00000000' eax='0xfbf99e8c'/> <msr index='0x48f' edx='0x00000000' eax='0x007c8004'/> diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-json.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-json.xml index 5f7b2b49c4..662e88bc3b 100644 --- a/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-json.xml +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-json.xml @@ -47,6 +47,7 @@ <feature policy='require' name='vmx-invvpid'/> <feature policy='require' name='vmx-invvpid-single-addr'/> <feature policy='require' name='vmx-invvpid-all-context'/> + <feature policy='require' name='vmx-invvpid-single-context-noglobals'/> <feature policy='require' name='vmx-intr-exit'/> <feature policy='require' name='vmx-nmi-exit'/> <feature policy='require' name='vmx-vnmi'/> diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-enabled.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-enabled.xml index b830c52b8c..a8e24f2302 100644 --- a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-enabled.xml +++ b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-enabled.xml @@ -10,7 +10,7 @@ <msr index='0x480' edx='0x00c00000' eax='0x00000000'/> <msr index='0x485' edx='0x00000000' eax='0x20000060'/> <msr index='0x48b' edx='0x00000000' eax='0x00137bff'/> - <msr index='0x48c' edx='0x00000501' eax='0x06330041'/> + <msr index='0x48c' edx='0x00000d01' eax='0x06330041'/> <msr index='0x48d' edx='0x00000000' eax='0x000000e9'/> <msr index='0x48e' edx='0x00000000' eax='0xfbf99e8c'/> <msr index='0x48f' edx='0x00000000' eax='0x007c8004'/> diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-json.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-json.xml index 46faf74879..38e15ab63d 100644 --- a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-json.xml +++ b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-json.xml @@ -53,6 +53,7 @@ <feature policy='require' name='vmx-invvpid'/> <feature policy='require' name='vmx-invvpid-single-addr'/> <feature policy='require' name='vmx-invvpid-all-context'/> + <feature policy='require' name='vmx-invvpid-single-context-noglobals'/> <feature policy='require' name='vmx-intr-exit'/> <feature policy='require' name='vmx-nmi-exit'/> <feature policy='require' name='vmx-vnmi'/> diff --git a/tests/cputestdata/x86_64-cpuid-baseline-Cooperlake+Cascadelake.xml b/tests/cputestdata/x86_64-cpuid-baseline-Cooperlake+Cascadelake.xml index bd28239199..c5731093a7 100644 --- a/tests/cputestdata/x86_64-cpuid-baseline-Cooperlake+Cascadelake.xml +++ b/tests/cputestdata/x86_64-cpuid-baseline-Cooperlake+Cascadelake.xml @@ -53,6 +53,7 @@ <feature policy='require' name='vmx-invvpid'/> <feature policy='require' name='vmx-invvpid-single-addr'/> <feature policy='require' name='vmx-invvpid-all-context'/> + <feature policy='require' name='vmx-invvpid-single-context-noglobals'/> <feature policy='require' name='vmx-intr-exit'/> <feature policy='require' name='vmx-nmi-exit'/> <feature policy='require' name='vmx-vnmi'/> -- 2.46.2

Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/qemu/qemu_capabilities.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 1d7ac9803d..f930ad2acf 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -3531,22 +3531,26 @@ virQEMUCapsProbeQMPSGXCapabilities(virQEMUCaps *qemuCaps, * QEMU never supported them or they were dropped as they never did anything * useful. */ +const char *ignoredFeatures[] = { + "cmt", "mbm_total", "mbm_local", /* never supported by QEMU */ + "osxsave", "ospke", /* dropped from QEMU */ +}; + bool virQEMUCapsCPUFilterFeatures(const char *name, virCPUFeaturePolicy policy G_GNUC_UNUSED, void *opaque) { virArch *arch = opaque; + size_t i; if (!ARCH_IS_X86(*arch)) return true; - if (STREQ(name, "cmt") || - STREQ(name, "mbm_total") || - STREQ(name, "mbm_local") || - STREQ(name, "osxsave") || - STREQ(name, "ospke")) - return false; + for (i = 0; i < G_N_ELEMENTS(ignoredFeatures); i++) { + if (STREQ(name, ignoredFeatures[i])) + return false; + } return true; } -- 2.46.2

Although QEMU knows and enables the corresponding MSR bits, it does not allow users to configure them (there are no names attached to them). They should have never been added to the CPU map and definitely not to CPU models as the features will always be considered disabled regardless on their actual state as QEMU will not report them. While we cannot drop them completely for backward compatibility, we can at least remove them from all CPU models. This is effectively no change for CPU models where the features were marked with added='yes' because migration source would always remove the features from domain XML so not adding them to the live XML does not hurt. On the other side the destination could not ever be surprised by the features being suddenly enabled as QEMU never reports them, which means libvirt considers them disabled all the time. GraniteRapids CPU model is the only one which contains the feature ever since it was introduced in libvirt, but it was never possible to migrate a domain with such CPU. The source would always mark vmx-ept-wb as disabled and the destination without the fixes in this series would drop the feature from the XML completely as it is unsupported by QEMU and disabled, but when probing for the actual CPU created by QEMU libvirt would expect the feature to be enabled (as it is included in the CPU model and not explicitly mentioned in the domain definition) and fail the migration. There's nothing the source could do to workaround the behavior on the destination and migration to older libvirt will still be broken. But it's possible to migrate a domain with GraniteRapids to a destination with this series applied from both old and new source. Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/cpu_map/sync_qemu_features_i386.py | 2 -- src/cpu_map/sync_qemu_models_i386.py | 3 +-- src/cpu_map/x86_Broadwell-IBRS.xml | 1 - src/cpu_map/x86_Broadwell-noTSX-IBRS.xml | 1 - src/cpu_map/x86_Broadwell-noTSX.xml | 1 - src/cpu_map/x86_Broadwell.xml | 1 - src/cpu_map/x86_Cascadelake-Server-noTSX.xml | 1 - src/cpu_map/x86_Cascadelake-Server.xml | 1 - src/cpu_map/x86_Cooperlake.xml | 1 - src/cpu_map/x86_GraniteRapids.xml | 1 - src/cpu_map/x86_Haswell-IBRS.xml | 1 - src/cpu_map/x86_Haswell-noTSX-IBRS.xml | 1 - src/cpu_map/x86_Haswell-noTSX.xml | 1 - src/cpu_map/x86_Haswell.xml | 1 - src/cpu_map/x86_Icelake-Server-noTSX.xml | 1 - src/cpu_map/x86_Icelake-Server.xml | 1 - src/cpu_map/x86_IvyBridge-IBRS.xml | 1 - src/cpu_map/x86_IvyBridge.xml | 1 - src/cpu_map/x86_Nehalem-IBRS.xml | 1 - src/cpu_map/x86_Nehalem.xml | 1 - src/cpu_map/x86_SandyBridge-IBRS.xml | 1 - src/cpu_map/x86_SandyBridge.xml | 1 - src/cpu_map/x86_SapphireRapids.xml | 1 - src/cpu_map/x86_Skylake-Client-IBRS.xml | 1 - src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml | 1 - src/cpu_map/x86_Skylake-Client.xml | 1 - src/cpu_map/x86_Skylake-Server-IBRS.xml | 1 - src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml | 1 - src/cpu_map/x86_Skylake-Server.xml | 1 - src/cpu_map/x86_Snowridge.xml | 1 - src/cpu_map/x86_Westmere-IBRS.xml | 1 - src/cpu_map/x86_Westmere.xml | 1 - src/qemu/qemu_capabilities.c | 1 + 33 files changed, 2 insertions(+), 34 deletions(-) diff --git a/src/cpu_map/sync_qemu_features_i386.py b/src/cpu_map/sync_qemu_features_i386.py index 21df37e9d6..c78c0b2ac9 100755 --- a/src/cpu_map/sync_qemu_features_i386.py +++ b/src/cpu_map/sync_qemu_features_i386.py @@ -70,8 +70,6 @@ FEATURES_EXTRA = { 18: "cvt16", }, (0x0000048c,): { - 8: "vmx-ept-uc", - 14: "vmx-ept-wb", 41: "vmx-invvpid-single-context", # wrong name in qemu 43: "vmx-invvpid-single-context-noglobals", # wrong name in qemu } diff --git a/src/cpu_map/sync_qemu_models_i386.py b/src/cpu_map/sync_qemu_models_i386.py index 06a8837b0a..408e07911e 100755 --- a/src/cpu_map/sync_qemu_models_i386.py +++ b/src/cpu_map/sync_qemu_models_i386.py @@ -278,8 +278,6 @@ def translate_feature(name): "MSR_VMX_EPT_EXECONLY": "vmx-ept-execonly", "MSR_VMX_EPT_PAGE_WALK_LENGTH_4": "vmx-page-walk-4", "MSR_VMX_EPT_PAGE_WALK_LENGTH_5": "vmx-page-walk-5", - "MSR_VMX_EPT_UC": "vmx-ept-uc", - "MSR_VMX_EPT_WB": "vmx-ept-wb", "MSR_VMX_EPT_2MB": "vmx-ept-2mb", "MSR_VMX_EPT_1GB": "vmx-ept-1gb", "MSR_VMX_EPT_INVEPT": "vmx-invept", @@ -307,6 +305,7 @@ def translate_feature(name): name in ("CPUID_EXT_MONITOR", "monitor"), name in ("MSR_VMX_BASIC_DUAL_MONITOR", "dual-monitor"), name in ("CPUID_EXT3_TOPOEXT", "topoext"), + name in ("MSR_VMX_EPT_UC", "MSR_VMX_EPT_WB"), ]) if ignore: diff --git a/src/cpu_map/x86_Broadwell-IBRS.xml b/src/cpu_map/x86_Broadwell-IBRS.xml index 1484903298..e87f54a102 100644 --- a/src/cpu_map/x86_Broadwell-IBRS.xml +++ b/src/cpu_map/x86_Broadwell-IBRS.xml @@ -78,7 +78,6 @@ <feature name='vmx-ept-1gb' added='yes'/> <feature name='vmx-ept-2mb' added='yes'/> <feature name='vmx-ept-execonly' added='yes'/> - <feature name='vmx-ept-wb' added='yes'/> <feature name='vmx-eptad' added='yes'/> <feature name='vmx-eptp-switching' added='yes'/> <feature name='vmx-exit-ack-intr' added='yes'/> diff --git a/src/cpu_map/x86_Broadwell-noTSX-IBRS.xml b/src/cpu_map/x86_Broadwell-noTSX-IBRS.xml index 13f08435b7..59c2c08937 100644 --- a/src/cpu_map/x86_Broadwell-noTSX-IBRS.xml +++ b/src/cpu_map/x86_Broadwell-noTSX-IBRS.xml @@ -76,7 +76,6 @@ <feature name='vmx-ept-1gb' added='yes'/> <feature name='vmx-ept-2mb' added='yes'/> <feature name='vmx-ept-execonly' added='yes'/> - <feature name='vmx-ept-wb' added='yes'/> <feature name='vmx-eptad' added='yes'/> <feature name='vmx-eptp-switching' added='yes'/> <feature name='vmx-exit-ack-intr' added='yes'/> diff --git a/src/cpu_map/x86_Broadwell-noTSX.xml b/src/cpu_map/x86_Broadwell-noTSX.xml index 4293b3aeee..b9b25d6b6c 100644 --- a/src/cpu_map/x86_Broadwell-noTSX.xml +++ b/src/cpu_map/x86_Broadwell-noTSX.xml @@ -75,7 +75,6 @@ <feature name='vmx-ept-1gb' added='yes'/> <feature name='vmx-ept-2mb' added='yes'/> <feature name='vmx-ept-execonly' added='yes'/> - <feature name='vmx-ept-wb' added='yes'/> <feature name='vmx-eptad' added='yes'/> <feature name='vmx-eptp-switching' added='yes'/> <feature name='vmx-exit-ack-intr' added='yes'/> diff --git a/src/cpu_map/x86_Broadwell.xml b/src/cpu_map/x86_Broadwell.xml index 37dd1dabcf..2845a620ac 100644 --- a/src/cpu_map/x86_Broadwell.xml +++ b/src/cpu_map/x86_Broadwell.xml @@ -77,7 +77,6 @@ <feature name='vmx-ept-1gb' added='yes'/> <feature name='vmx-ept-2mb' added='yes'/> <feature name='vmx-ept-execonly' added='yes'/> - <feature name='vmx-ept-wb' added='yes'/> <feature name='vmx-eptad' added='yes'/> <feature name='vmx-eptp-switching' added='yes'/> <feature name='vmx-exit-ack-intr' added='yes'/> diff --git a/src/cpu_map/x86_Cascadelake-Server-noTSX.xml b/src/cpu_map/x86_Cascadelake-Server-noTSX.xml index 8c4cbf9c9a..a3b332c9c1 100644 --- a/src/cpu_map/x86_Cascadelake-Server-noTSX.xml +++ b/src/cpu_map/x86_Cascadelake-Server-noTSX.xml @@ -89,7 +89,6 @@ <feature name='vmx-ept-1gb' added='yes'/> <feature name='vmx-ept-2mb' added='yes'/> <feature name='vmx-ept-execonly' added='yes'/> - <feature name='vmx-ept-wb' added='yes'/> <feature name='vmx-eptad' added='yes'/> <feature name='vmx-eptp-switching' added='yes'/> <feature name='vmx-exit-ack-intr' added='yes'/> diff --git a/src/cpu_map/x86_Cascadelake-Server.xml b/src/cpu_map/x86_Cascadelake-Server.xml index c7c4f6412f..9faad320e6 100644 --- a/src/cpu_map/x86_Cascadelake-Server.xml +++ b/src/cpu_map/x86_Cascadelake-Server.xml @@ -91,7 +91,6 @@ <feature name='vmx-ept-1gb' added='yes'/> <feature name='vmx-ept-2mb' added='yes'/> <feature name='vmx-ept-execonly' added='yes'/> - <feature name='vmx-ept-wb' added='yes'/> <feature name='vmx-eptad' added='yes'/> <feature name='vmx-exit-ack-intr' added='yes'/> <feature name='vmx-exit-load-efer' added='yes'/> diff --git a/src/cpu_map/x86_Cooperlake.xml b/src/cpu_map/x86_Cooperlake.xml index af428f2781..caccfc048c 100644 --- a/src/cpu_map/x86_Cooperlake.xml +++ b/src/cpu_map/x86_Cooperlake.xml @@ -100,7 +100,6 @@ <feature name='vmx-ept-1gb' added='yes'/> <feature name='vmx-ept-2mb' added='yes'/> <feature name='vmx-ept-execonly' added='yes'/> - <feature name='vmx-ept-wb' added='yes'/> <feature name='vmx-eptad' added='yes'/> <feature name='vmx-eptp-switching' added='yes'/> <feature name='vmx-exit-ack-intr' added='yes'/> diff --git a/src/cpu_map/x86_GraniteRapids.xml b/src/cpu_map/x86_GraniteRapids.xml index 6f7030ce39..6dab7d7b09 100644 --- a/src/cpu_map/x86_GraniteRapids.xml +++ b/src/cpu_map/x86_GraniteRapids.xml @@ -129,7 +129,6 @@ <feature name='vmx-ept-1gb'/> <feature name='vmx-ept-2mb'/> <feature name='vmx-ept-execonly'/> - <feature name='vmx-ept-wb'/> <feature name='vmx-eptad'/> <feature name='vmx-eptp-switching'/> <feature name='vmx-exit-ack-intr'/> diff --git a/src/cpu_map/x86_Haswell-IBRS.xml b/src/cpu_map/x86_Haswell-IBRS.xml index 57b980d14f..e2e3ce6b51 100644 --- a/src/cpu_map/x86_Haswell-IBRS.xml +++ b/src/cpu_map/x86_Haswell-IBRS.xml @@ -74,7 +74,6 @@ <feature name='vmx-ept-1gb' added='yes'/> <feature name='vmx-ept-2mb' added='yes'/> <feature name='vmx-ept-execonly' added='yes'/> - <feature name='vmx-ept-wb' added='yes'/> <feature name='vmx-eptad' added='yes'/> <feature name='vmx-eptp-switching' added='yes'/> <feature name='vmx-exit-ack-intr' added='yes'/> diff --git a/src/cpu_map/x86_Haswell-noTSX-IBRS.xml b/src/cpu_map/x86_Haswell-noTSX-IBRS.xml index fcae023ffb..c8d050b8d3 100644 --- a/src/cpu_map/x86_Haswell-noTSX-IBRS.xml +++ b/src/cpu_map/x86_Haswell-noTSX-IBRS.xml @@ -72,7 +72,6 @@ <feature name='vmx-ept-1gb' added='yes'/> <feature name='vmx-ept-2mb' added='yes'/> <feature name='vmx-ept-execonly' added='yes'/> - <feature name='vmx-ept-wb' added='yes'/> <feature name='vmx-eptad' added='yes'/> <feature name='vmx-eptp-switching' added='yes'/> <feature name='vmx-exit-ack-intr' added='yes'/> diff --git a/src/cpu_map/x86_Haswell-noTSX.xml b/src/cpu_map/x86_Haswell-noTSX.xml index 7404052065..d714ce5858 100644 --- a/src/cpu_map/x86_Haswell-noTSX.xml +++ b/src/cpu_map/x86_Haswell-noTSX.xml @@ -71,7 +71,6 @@ <feature name='vmx-ept-1gb' added='yes'/> <feature name='vmx-ept-2mb' added='yes'/> <feature name='vmx-ept-execonly' added='yes'/> - <feature name='vmx-ept-wb' added='yes'/> <feature name='vmx-eptad' added='yes'/> <feature name='vmx-eptp-switching' added='yes'/> <feature name='vmx-exit-ack-intr' added='yes'/> diff --git a/src/cpu_map/x86_Haswell.xml b/src/cpu_map/x86_Haswell.xml index 99986c5c45..583649dbab 100644 --- a/src/cpu_map/x86_Haswell.xml +++ b/src/cpu_map/x86_Haswell.xml @@ -73,7 +73,6 @@ <feature name='vmx-ept-1gb' added='yes'/> <feature name='vmx-ept-2mb' added='yes'/> <feature name='vmx-ept-execonly' added='yes'/> - <feature name='vmx-ept-wb' added='yes'/> <feature name='vmx-eptad' added='yes'/> <feature name='vmx-eptp-switching' added='yes'/> <feature name='vmx-exit-ack-intr' added='yes'/> diff --git a/src/cpu_map/x86_Icelake-Server-noTSX.xml b/src/cpu_map/x86_Icelake-Server-noTSX.xml index caba24ab35..8515b6518c 100644 --- a/src/cpu_map/x86_Icelake-Server-noTSX.xml +++ b/src/cpu_map/x86_Icelake-Server-noTSX.xml @@ -99,7 +99,6 @@ <feature name='vmx-ept-1gb' added='yes'/> <feature name='vmx-ept-2mb' added='yes'/> <feature name='vmx-ept-execonly' added='yes'/> - <feature name='vmx-ept-wb' added='yes'/> <feature name='vmx-eptad' added='yes'/> <feature name='vmx-eptp-switching' added='yes'/> <feature name='vmx-exit-ack-intr' added='yes'/> diff --git a/src/cpu_map/x86_Icelake-Server.xml b/src/cpu_map/x86_Icelake-Server.xml index 5a864b2fad..9d0cc254c0 100644 --- a/src/cpu_map/x86_Icelake-Server.xml +++ b/src/cpu_map/x86_Icelake-Server.xml @@ -101,7 +101,6 @@ <feature name='vmx-ept-1gb' added='yes'/> <feature name='vmx-ept-2mb' added='yes'/> <feature name='vmx-ept-execonly' added='yes'/> - <feature name='vmx-ept-wb' added='yes'/> <feature name='vmx-eptad' added='yes'/> <feature name='vmx-exit-ack-intr' added='yes'/> <feature name='vmx-exit-load-efer' added='yes'/> diff --git a/src/cpu_map/x86_IvyBridge-IBRS.xml b/src/cpu_map/x86_IvyBridge-IBRS.xml index 27d85d86c4..4822b546e9 100644 --- a/src/cpu_map/x86_IvyBridge-IBRS.xml +++ b/src/cpu_map/x86_IvyBridge-IBRS.xml @@ -66,7 +66,6 @@ <feature name='vmx-ept-1gb' added='yes'/> <feature name='vmx-ept-2mb' added='yes'/> <feature name='vmx-ept-execonly' added='yes'/> - <feature name='vmx-ept-wb' added='yes'/> <feature name='vmx-exit-ack-intr' added='yes'/> <feature name='vmx-exit-load-efer' added='yes'/> <feature name='vmx-exit-load-pat' added='yes'/> diff --git a/src/cpu_map/x86_IvyBridge.xml b/src/cpu_map/x86_IvyBridge.xml index 72031cfdc6..93edca17ca 100644 --- a/src/cpu_map/x86_IvyBridge.xml +++ b/src/cpu_map/x86_IvyBridge.xml @@ -65,7 +65,6 @@ <feature name='vmx-ept-1gb' added='yes'/> <feature name='vmx-ept-2mb' added='yes'/> <feature name='vmx-ept-execonly' added='yes'/> - <feature name='vmx-ept-wb' added='yes'/> <feature name='vmx-exit-ack-intr' added='yes'/> <feature name='vmx-exit-load-efer' added='yes'/> <feature name='vmx-exit-load-pat' added='yes'/> diff --git a/src/cpu_map/x86_Nehalem-IBRS.xml b/src/cpu_map/x86_Nehalem-IBRS.xml index 0cfee14c0f..a6510aa99f 100644 --- a/src/cpu_map/x86_Nehalem-IBRS.xml +++ b/src/cpu_map/x86_Nehalem-IBRS.xml @@ -55,7 +55,6 @@ <feature name='vmx-ept-1gb' added='yes'/> <feature name='vmx-ept-2mb' added='yes'/> <feature name='vmx-ept-execonly' added='yes'/> - <feature name='vmx-ept-wb' added='yes'/> <feature name='vmx-exit-ack-intr' added='yes'/> <feature name='vmx-exit-load-efer' added='yes'/> <feature name='vmx-exit-load-pat' added='yes'/> diff --git a/src/cpu_map/x86_Nehalem.xml b/src/cpu_map/x86_Nehalem.xml index 74ee64ce1c..6c0dfba451 100644 --- a/src/cpu_map/x86_Nehalem.xml +++ b/src/cpu_map/x86_Nehalem.xml @@ -54,7 +54,6 @@ <feature name='vmx-ept-1gb' added='yes'/> <feature name='vmx-ept-2mb' added='yes'/> <feature name='vmx-ept-execonly' added='yes'/> - <feature name='vmx-ept-wb' added='yes'/> <feature name='vmx-exit-ack-intr' added='yes'/> <feature name='vmx-exit-load-efer' added='yes'/> <feature name='vmx-exit-load-pat' added='yes'/> diff --git a/src/cpu_map/x86_SandyBridge-IBRS.xml b/src/cpu_map/x86_SandyBridge-IBRS.xml index 297eea8e88..6d2b5028ee 100644 --- a/src/cpu_map/x86_SandyBridge-IBRS.xml +++ b/src/cpu_map/x86_SandyBridge-IBRS.xml @@ -58,7 +58,6 @@ <feature name='vmx-ept-1gb' added='yes'/> <feature name='vmx-ept-2mb' added='yes'/> <feature name='vmx-ept-execonly' added='yes'/> - <feature name='vmx-ept-wb' added='yes'/> <feature name='vmx-exit-ack-intr' added='yes'/> <feature name='vmx-exit-load-efer' added='yes'/> <feature name='vmx-exit-load-pat' added='yes'/> diff --git a/src/cpu_map/x86_SandyBridge.xml b/src/cpu_map/x86_SandyBridge.xml index 20ea378c47..de3ad60e3d 100644 --- a/src/cpu_map/x86_SandyBridge.xml +++ b/src/cpu_map/x86_SandyBridge.xml @@ -57,7 +57,6 @@ <feature name='vmx-ept-1gb' added='yes'/> <feature name='vmx-ept-2mb' added='yes'/> <feature name='vmx-ept-execonly' added='yes'/> - <feature name='vmx-ept-wb' added='yes'/> <feature name='vmx-exit-ack-intr' added='yes'/> <feature name='vmx-exit-load-efer' added='yes'/> <feature name='vmx-exit-load-pat' added='yes'/> diff --git a/src/cpu_map/x86_SapphireRapids.xml b/src/cpu_map/x86_SapphireRapids.xml index 40164a47e2..6321dd36d9 100644 --- a/src/cpu_map/x86_SapphireRapids.xml +++ b/src/cpu_map/x86_SapphireRapids.xml @@ -122,7 +122,6 @@ <feature name='vmx-ept-1gb' added='yes'/> <feature name='vmx-ept-2mb' added='yes'/> <feature name='vmx-ept-execonly' added='yes'/> - <feature name='vmx-ept-wb' added='yes'/> <feature name='vmx-eptad' added='yes'/> <feature name='vmx-eptp-switching' added='yes'/> <feature name='vmx-exit-ack-intr' added='yes'/> diff --git a/src/cpu_map/x86_Skylake-Client-IBRS.xml b/src/cpu_map/x86_Skylake-Client-IBRS.xml index f36a8bd210..7d0d3c7114 100644 --- a/src/cpu_map/x86_Skylake-Client-IBRS.xml +++ b/src/cpu_map/x86_Skylake-Client-IBRS.xml @@ -83,7 +83,6 @@ <feature name='vmx-ept-1gb' added='yes'/> <feature name='vmx-ept-2mb' added='yes'/> <feature name='vmx-ept-execonly' added='yes'/> - <feature name='vmx-ept-wb' added='yes'/> <feature name='vmx-eptad' added='yes'/> <feature name='vmx-eptp-switching' added='yes'/> <feature name='vmx-exit-ack-intr' added='yes'/> diff --git a/src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml b/src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml index 5150117db4..383270f5f9 100644 --- a/src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml +++ b/src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml @@ -81,7 +81,6 @@ <feature name='vmx-ept-1gb' added='yes'/> <feature name='vmx-ept-2mb' added='yes'/> <feature name='vmx-ept-execonly' added='yes'/> - <feature name='vmx-ept-wb' added='yes'/> <feature name='vmx-eptad' added='yes'/> <feature name='vmx-eptp-switching' added='yes'/> <feature name='vmx-exit-ack-intr' added='yes'/> diff --git a/src/cpu_map/x86_Skylake-Client.xml b/src/cpu_map/x86_Skylake-Client.xml index 061c0dfaec..84789d642a 100644 --- a/src/cpu_map/x86_Skylake-Client.xml +++ b/src/cpu_map/x86_Skylake-Client.xml @@ -82,7 +82,6 @@ <feature name='vmx-ept-1gb' added='yes'/> <feature name='vmx-ept-2mb' added='yes'/> <feature name='vmx-ept-execonly' added='yes'/> - <feature name='vmx-ept-wb' added='yes'/> <feature name='vmx-eptad' added='yes'/> <feature name='vmx-eptp-switching' added='yes'/> <feature name='vmx-exit-ack-intr' added='yes'/> diff --git a/src/cpu_map/x86_Skylake-Server-IBRS.xml b/src/cpu_map/x86_Skylake-Server-IBRS.xml index bbd3c8998e..8cd25a2df4 100644 --- a/src/cpu_map/x86_Skylake-Server-IBRS.xml +++ b/src/cpu_map/x86_Skylake-Server-IBRS.xml @@ -88,7 +88,6 @@ <feature name='vmx-ept-1gb' added='yes'/> <feature name='vmx-ept-2mb' added='yes'/> <feature name='vmx-ept-execonly' added='yes'/> - <feature name='vmx-ept-wb' added='yes'/> <feature name='vmx-eptad' added='yes'/> <feature name='vmx-exit-ack-intr' added='yes'/> <feature name='vmx-exit-load-efer' added='yes'/> diff --git a/src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml b/src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml index ee0d2a2fa3..f3877bfbec 100644 --- a/src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml +++ b/src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml @@ -86,7 +86,6 @@ <feature name='vmx-ept-1gb' added='yes'/> <feature name='vmx-ept-2mb' added='yes'/> <feature name='vmx-ept-execonly' added='yes'/> - <feature name='vmx-ept-wb' added='yes'/> <feature name='vmx-eptad' added='yes'/> <feature name='vmx-eptp-switching' added='yes'/> <feature name='vmx-exit-ack-intr' added='yes'/> diff --git a/src/cpu_map/x86_Skylake-Server.xml b/src/cpu_map/x86_Skylake-Server.xml index 9d9d112d40..78bd727357 100644 --- a/src/cpu_map/x86_Skylake-Server.xml +++ b/src/cpu_map/x86_Skylake-Server.xml @@ -87,7 +87,6 @@ <feature name='vmx-ept-1gb' added='yes'/> <feature name='vmx-ept-2mb' added='yes'/> <feature name='vmx-ept-execonly' added='yes'/> - <feature name='vmx-ept-wb' added='yes'/> <feature name='vmx-eptad' added='yes'/> <feature name='vmx-exit-ack-intr' added='yes'/> <feature name='vmx-exit-load-efer' added='yes'/> diff --git a/src/cpu_map/x86_Snowridge.xml b/src/cpu_map/x86_Snowridge.xml index bc410bd8f8..b31ce6f9f5 100644 --- a/src/cpu_map/x86_Snowridge.xml +++ b/src/cpu_map/x86_Snowridge.xml @@ -81,7 +81,6 @@ <feature name='vmx-ept-1gb' added='yes'/> <feature name='vmx-ept-2mb' added='yes'/> <feature name='vmx-ept-execonly' added='yes'/> - <feature name='vmx-ept-wb' added='yes'/> <feature name='vmx-eptad' added='yes'/> <feature name='vmx-eptp-switching' added='yes'/> <feature name='vmx-exit-ack-intr' added='yes'/> diff --git a/src/cpu_map/x86_Westmere-IBRS.xml b/src/cpu_map/x86_Westmere-IBRS.xml index a5abe8a1e1..534c752ed9 100644 --- a/src/cpu_map/x86_Westmere-IBRS.xml +++ b/src/cpu_map/x86_Westmere-IBRS.xml @@ -53,7 +53,6 @@ <feature name='vmx-ept-1gb' added='yes'/> <feature name='vmx-ept-2mb' added='yes'/> <feature name='vmx-ept-execonly' added='yes'/> - <feature name='vmx-ept-wb' added='yes'/> <feature name='vmx-exit-ack-intr' added='yes'/> <feature name='vmx-exit-load-efer' added='yes'/> <feature name='vmx-exit-load-pat' added='yes'/> diff --git a/src/cpu_map/x86_Westmere.xml b/src/cpu_map/x86_Westmere.xml index 161f1a078e..4edc5b3839 100644 --- a/src/cpu_map/x86_Westmere.xml +++ b/src/cpu_map/x86_Westmere.xml @@ -54,7 +54,6 @@ <feature name='vmx-ept-1gb' added='yes'/> <feature name='vmx-ept-2mb' added='yes'/> <feature name='vmx-ept-execonly' added='yes'/> - <feature name='vmx-ept-wb' added='yes'/> <feature name='vmx-exit-ack-intr' added='yes'/> <feature name='vmx-exit-load-efer' added='yes'/> <feature name='vmx-exit-load-pat' added='yes'/> diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index f930ad2acf..45565326a5 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -3534,6 +3534,7 @@ virQEMUCapsProbeQMPSGXCapabilities(virQEMUCaps *qemuCaps, const char *ignoredFeatures[] = { "cmt", "mbm_total", "mbm_local", /* never supported by QEMU */ "osxsave", "ospke", /* dropped from QEMU */ + "vmx-ept-uc", "vmx-ept-wb", /* never supported by QEMU */ }; bool -- 2.46.2

QEMU calls the same feature differently, but translating the names in libvirt does not make sense because the name in QEMU conflicts with another feature. QEMU will not change the name for compatibility reasons so we can just drop our invented name as it is not supported by QEMU. Apart from this slightly different reason behind the feature being unsupported by QEMU the situation is similar to vmx-ept-{uc,wb} dropped in the previous patch and so is the implications. Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/cpu_map/sync_qemu_features_i386.py | 1 - src/cpu_map/sync_qemu_models_i386.py | 2 +- src/cpu_map/x86_Broadwell-IBRS.xml | 1 - src/cpu_map/x86_Broadwell-noTSX-IBRS.xml | 1 - src/cpu_map/x86_Broadwell-noTSX.xml | 1 - src/cpu_map/x86_Broadwell.xml | 1 - src/cpu_map/x86_Cascadelake-Server-noTSX.xml | 1 - src/cpu_map/x86_Cascadelake-Server.xml | 1 - src/cpu_map/x86_Cooperlake.xml | 1 - src/cpu_map/x86_GraniteRapids.xml | 1 - src/cpu_map/x86_Haswell-IBRS.xml | 1 - src/cpu_map/x86_Haswell-noTSX-IBRS.xml | 1 - src/cpu_map/x86_Haswell-noTSX.xml | 1 - src/cpu_map/x86_Haswell.xml | 1 - src/cpu_map/x86_Icelake-Server-noTSX.xml | 1 - src/cpu_map/x86_Icelake-Server.xml | 1 - src/cpu_map/x86_IvyBridge-IBRS.xml | 1 - src/cpu_map/x86_IvyBridge.xml | 1 - src/cpu_map/x86_Nehalem-IBRS.xml | 1 - src/cpu_map/x86_Nehalem.xml | 1 - src/cpu_map/x86_SandyBridge-IBRS.xml | 1 - src/cpu_map/x86_SandyBridge.xml | 1 - src/cpu_map/x86_SapphireRapids.xml | 1 - src/cpu_map/x86_Skylake-Client-IBRS.xml | 1 - src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml | 1 - src/cpu_map/x86_Skylake-Client.xml | 1 - src/cpu_map/x86_Skylake-Server-IBRS.xml | 1 - src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml | 1 - src/cpu_map/x86_Skylake-Server.xml | 1 - src/cpu_map/x86_Snowridge.xml | 1 - src/cpu_map/x86_Westmere-IBRS.xml | 1 - src/cpu_map/x86_Westmere.xml | 1 - src/qemu/qemu_capabilities.c | 1 + 33 files changed, 2 insertions(+), 32 deletions(-) diff --git a/src/cpu_map/sync_qemu_features_i386.py b/src/cpu_map/sync_qemu_features_i386.py index c78c0b2ac9..15a7af85cb 100755 --- a/src/cpu_map/sync_qemu_features_i386.py +++ b/src/cpu_map/sync_qemu_features_i386.py @@ -70,7 +70,6 @@ FEATURES_EXTRA = { 18: "cvt16", }, (0x0000048c,): { - 41: "vmx-invvpid-single-context", # wrong name in qemu 43: "vmx-invvpid-single-context-noglobals", # wrong name in qemu } } diff --git a/src/cpu_map/sync_qemu_models_i386.py b/src/cpu_map/sync_qemu_models_i386.py index 408e07911e..65ae031223 100755 --- a/src/cpu_map/sync_qemu_models_i386.py +++ b/src/cpu_map/sync_qemu_models_i386.py @@ -287,7 +287,6 @@ def translate_feature(name): "MSR_VMX_EPT_INVEPT_ALL_CONTEXT": "vmx-invept-all-context", "MSR_VMX_EPT_INVVPID": "vmx-invvpid", "MSR_VMX_EPT_INVVPID_SINGLE_ADDR": "vmx-invvpid-single-addr", - "MSR_VMX_EPT_INVVPID_SINGLE_CONTEXT": "vmx-invvpid-single-context", "MSR_VMX_EPT_INVVPID_ALL_CONTEXT": "vmx-invvpid-all-context", "MSR_VMX_EPT_INVVPID_SINGLE_CONTEXT_NOGLOBALS": "vmx-invvpid-single-context-noglobals", @@ -306,6 +305,7 @@ def translate_feature(name): name in ("MSR_VMX_BASIC_DUAL_MONITOR", "dual-monitor"), name in ("CPUID_EXT3_TOPOEXT", "topoext"), name in ("MSR_VMX_EPT_UC", "MSR_VMX_EPT_WB"), + name in ("MSR_VMX_EPT_INVVPID_SINGLE_CONTEXT"), ]) if ignore: diff --git a/src/cpu_map/x86_Broadwell-IBRS.xml b/src/cpu_map/x86_Broadwell-IBRS.xml index e87f54a102..4845931420 100644 --- a/src/cpu_map/x86_Broadwell-IBRS.xml +++ b/src/cpu_map/x86_Broadwell-IBRS.xml @@ -100,7 +100,6 @@ <feature name='vmx-invvpid' added='yes'/> <feature name='vmx-invvpid-all-context' added='yes'/> <feature name='vmx-invvpid-single-addr' added='yes'/> - <feature name='vmx-invvpid-single-context' added='yes'/> <feature name='vmx-invvpid-single-context-noglobals' added='yes'/> <feature name='vmx-io-bitmap' added='yes'/> <feature name='vmx-io-exit' added='yes'/> diff --git a/src/cpu_map/x86_Broadwell-noTSX-IBRS.xml b/src/cpu_map/x86_Broadwell-noTSX-IBRS.xml index 59c2c08937..b1e7aa5d5e 100644 --- a/src/cpu_map/x86_Broadwell-noTSX-IBRS.xml +++ b/src/cpu_map/x86_Broadwell-noTSX-IBRS.xml @@ -98,7 +98,6 @@ <feature name='vmx-invvpid' added='yes'/> <feature name='vmx-invvpid-all-context' added='yes'/> <feature name='vmx-invvpid-single-addr' added='yes'/> - <feature name='vmx-invvpid-single-context' added='yes'/> <feature name='vmx-invvpid-single-context-noglobals' added='yes'/> <feature name='vmx-io-bitmap' added='yes'/> <feature name='vmx-io-exit' added='yes'/> diff --git a/src/cpu_map/x86_Broadwell-noTSX.xml b/src/cpu_map/x86_Broadwell-noTSX.xml index b9b25d6b6c..24aa6a37bd 100644 --- a/src/cpu_map/x86_Broadwell-noTSX.xml +++ b/src/cpu_map/x86_Broadwell-noTSX.xml @@ -97,7 +97,6 @@ <feature name='vmx-invvpid' added='yes'/> <feature name='vmx-invvpid-all-context' added='yes'/> <feature name='vmx-invvpid-single-addr' added='yes'/> - <feature name='vmx-invvpid-single-context' added='yes'/> <feature name='vmx-invvpid-single-context-noglobals' added='yes'/> <feature name='vmx-io-bitmap' added='yes'/> <feature name='vmx-io-exit' added='yes'/> diff --git a/src/cpu_map/x86_Broadwell.xml b/src/cpu_map/x86_Broadwell.xml index 2845a620ac..1b27489db2 100644 --- a/src/cpu_map/x86_Broadwell.xml +++ b/src/cpu_map/x86_Broadwell.xml @@ -99,7 +99,6 @@ <feature name='vmx-invvpid' added='yes'/> <feature name='vmx-invvpid-all-context' added='yes'/> <feature name='vmx-invvpid-single-addr' added='yes'/> - <feature name='vmx-invvpid-single-context' added='yes'/> <feature name='vmx-invvpid-single-context-noglobals' added='yes'/> <feature name='vmx-io-bitmap' added='yes'/> <feature name='vmx-io-exit' added='yes'/> diff --git a/src/cpu_map/x86_Cascadelake-Server-noTSX.xml b/src/cpu_map/x86_Cascadelake-Server-noTSX.xml index a3b332c9c1..d1d49fdd58 100644 --- a/src/cpu_map/x86_Cascadelake-Server-noTSX.xml +++ b/src/cpu_map/x86_Cascadelake-Server-noTSX.xml @@ -111,7 +111,6 @@ <feature name='vmx-invvpid' added='yes'/> <feature name='vmx-invvpid-all-context' added='yes'/> <feature name='vmx-invvpid-single-addr' added='yes'/> - <feature name='vmx-invvpid-single-context' added='yes'/> <feature name='vmx-invvpid-single-context-noglobals' added='yes'/> <feature name='vmx-io-bitmap' added='yes'/> <feature name='vmx-io-exit' added='yes'/> diff --git a/src/cpu_map/x86_Cascadelake-Server.xml b/src/cpu_map/x86_Cascadelake-Server.xml index 9faad320e6..09840ce52f 100644 --- a/src/cpu_map/x86_Cascadelake-Server.xml +++ b/src/cpu_map/x86_Cascadelake-Server.xml @@ -112,7 +112,6 @@ <feature name='vmx-invvpid' added='yes'/> <feature name='vmx-invvpid-all-context' added='yes'/> <feature name='vmx-invvpid-single-addr' added='yes'/> - <feature name='vmx-invvpid-single-context' added='yes'/> <feature name='vmx-invvpid-single-context-noglobals' added='yes'/> <feature name='vmx-io-bitmap' added='yes'/> <feature name='vmx-io-exit' added='yes'/> diff --git a/src/cpu_map/x86_Cooperlake.xml b/src/cpu_map/x86_Cooperlake.xml index caccfc048c..8f37df60de 100644 --- a/src/cpu_map/x86_Cooperlake.xml +++ b/src/cpu_map/x86_Cooperlake.xml @@ -122,7 +122,6 @@ <feature name='vmx-invvpid' added='yes'/> <feature name='vmx-invvpid-all-context' added='yes'/> <feature name='vmx-invvpid-single-addr' added='yes'/> - <feature name='vmx-invvpid-single-context' added='yes'/> <feature name='vmx-invvpid-single-context-noglobals' added='yes'/> <feature name='vmx-io-bitmap' added='yes'/> <feature name='vmx-io-exit' added='yes'/> diff --git a/src/cpu_map/x86_GraniteRapids.xml b/src/cpu_map/x86_GraniteRapids.xml index 6dab7d7b09..9a94476459 100644 --- a/src/cpu_map/x86_GraniteRapids.xml +++ b/src/cpu_map/x86_GraniteRapids.xml @@ -151,7 +151,6 @@ <feature name='vmx-invvpid'/> <feature name='vmx-invvpid-all-context'/> <feature name='vmx-invvpid-single-addr'/> - <feature name='vmx-invvpid-single-context'/> <feature name='vmx-invvpid-single-context-noglobals'/> <feature name='vmx-io-bitmap'/> <feature name='vmx-io-exit'/> diff --git a/src/cpu_map/x86_Haswell-IBRS.xml b/src/cpu_map/x86_Haswell-IBRS.xml index e2e3ce6b51..0fed6fbb78 100644 --- a/src/cpu_map/x86_Haswell-IBRS.xml +++ b/src/cpu_map/x86_Haswell-IBRS.xml @@ -96,7 +96,6 @@ <feature name='vmx-invvpid' added='yes'/> <feature name='vmx-invvpid-all-context' added='yes'/> <feature name='vmx-invvpid-single-addr' added='yes'/> - <feature name='vmx-invvpid-single-context' added='yes'/> <feature name='vmx-invvpid-single-context-noglobals' added='yes'/> <feature name='vmx-io-bitmap' added='yes'/> <feature name='vmx-io-exit' added='yes'/> diff --git a/src/cpu_map/x86_Haswell-noTSX-IBRS.xml b/src/cpu_map/x86_Haswell-noTSX-IBRS.xml index c8d050b8d3..f7bc81ba4d 100644 --- a/src/cpu_map/x86_Haswell-noTSX-IBRS.xml +++ b/src/cpu_map/x86_Haswell-noTSX-IBRS.xml @@ -94,7 +94,6 @@ <feature name='vmx-invvpid' added='yes'/> <feature name='vmx-invvpid-all-context' added='yes'/> <feature name='vmx-invvpid-single-addr' added='yes'/> - <feature name='vmx-invvpid-single-context' added='yes'/> <feature name='vmx-invvpid-single-context-noglobals' added='yes'/> <feature name='vmx-io-bitmap' added='yes'/> <feature name='vmx-io-exit' added='yes'/> diff --git a/src/cpu_map/x86_Haswell-noTSX.xml b/src/cpu_map/x86_Haswell-noTSX.xml index d714ce5858..7d17911917 100644 --- a/src/cpu_map/x86_Haswell-noTSX.xml +++ b/src/cpu_map/x86_Haswell-noTSX.xml @@ -93,7 +93,6 @@ <feature name='vmx-invvpid' added='yes'/> <feature name='vmx-invvpid-all-context' added='yes'/> <feature name='vmx-invvpid-single-addr' added='yes'/> - <feature name='vmx-invvpid-single-context' added='yes'/> <feature name='vmx-invvpid-single-context-noglobals' added='yes'/> <feature name='vmx-io-bitmap' added='yes'/> <feature name='vmx-io-exit' added='yes'/> diff --git a/src/cpu_map/x86_Haswell.xml b/src/cpu_map/x86_Haswell.xml index 583649dbab..b121e15d4d 100644 --- a/src/cpu_map/x86_Haswell.xml +++ b/src/cpu_map/x86_Haswell.xml @@ -95,7 +95,6 @@ <feature name='vmx-invvpid' added='yes'/> <feature name='vmx-invvpid-all-context' added='yes'/> <feature name='vmx-invvpid-single-addr' added='yes'/> - <feature name='vmx-invvpid-single-context' added='yes'/> <feature name='vmx-invvpid-single-context-noglobals' added='yes'/> <feature name='vmx-io-bitmap' added='yes'/> <feature name='vmx-io-exit' added='yes'/> diff --git a/src/cpu_map/x86_Icelake-Server-noTSX.xml b/src/cpu_map/x86_Icelake-Server-noTSX.xml index 8515b6518c..36596433cb 100644 --- a/src/cpu_map/x86_Icelake-Server-noTSX.xml +++ b/src/cpu_map/x86_Icelake-Server-noTSX.xml @@ -121,7 +121,6 @@ <feature name='vmx-invvpid' added='yes'/> <feature name='vmx-invvpid-all-context' added='yes'/> <feature name='vmx-invvpid-single-addr' added='yes'/> - <feature name='vmx-invvpid-single-context' added='yes'/> <feature name='vmx-invvpid-single-context-noglobals' added='yes'/> <feature name='vmx-io-bitmap' added='yes'/> <feature name='vmx-io-exit' added='yes'/> diff --git a/src/cpu_map/x86_Icelake-Server.xml b/src/cpu_map/x86_Icelake-Server.xml index 9d0cc254c0..1e7ff355d5 100644 --- a/src/cpu_map/x86_Icelake-Server.xml +++ b/src/cpu_map/x86_Icelake-Server.xml @@ -122,7 +122,6 @@ <feature name='vmx-invvpid' added='yes'/> <feature name='vmx-invvpid-all-context' added='yes'/> <feature name='vmx-invvpid-single-addr' added='yes'/> - <feature name='vmx-invvpid-single-context' added='yes'/> <feature name='vmx-invvpid-single-context-noglobals' added='yes'/> <feature name='vmx-io-bitmap' added='yes'/> <feature name='vmx-io-exit' added='yes'/> diff --git a/src/cpu_map/x86_IvyBridge-IBRS.xml b/src/cpu_map/x86_IvyBridge-IBRS.xml index 4822b546e9..324152f856 100644 --- a/src/cpu_map/x86_IvyBridge-IBRS.xml +++ b/src/cpu_map/x86_IvyBridge-IBRS.xml @@ -85,7 +85,6 @@ <feature name='vmx-invvpid' added='yes'/> <feature name='vmx-invvpid-all-context' added='yes'/> <feature name='vmx-invvpid-single-addr' added='yes'/> - <feature name='vmx-invvpid-single-context' added='yes'/> <feature name='vmx-invvpid-single-context-noglobals' added='yes'/> <feature name='vmx-io-bitmap' added='yes'/> <feature name='vmx-io-exit' added='yes'/> diff --git a/src/cpu_map/x86_IvyBridge.xml b/src/cpu_map/x86_IvyBridge.xml index 93edca17ca..49d587afab 100644 --- a/src/cpu_map/x86_IvyBridge.xml +++ b/src/cpu_map/x86_IvyBridge.xml @@ -84,7 +84,6 @@ <feature name='vmx-invvpid' added='yes'/> <feature name='vmx-invvpid-all-context' added='yes'/> <feature name='vmx-invvpid-single-addr' added='yes'/> - <feature name='vmx-invvpid-single-context' added='yes'/> <feature name='vmx-invvpid-single-context-noglobals' added='yes'/> <feature name='vmx-io-bitmap' added='yes'/> <feature name='vmx-io-exit' added='yes'/> diff --git a/src/cpu_map/x86_Nehalem-IBRS.xml b/src/cpu_map/x86_Nehalem-IBRS.xml index a6510aa99f..ac05a349db 100644 --- a/src/cpu_map/x86_Nehalem-IBRS.xml +++ b/src/cpu_map/x86_Nehalem-IBRS.xml @@ -74,7 +74,6 @@ <feature name='vmx-invvpid' added='yes'/> <feature name='vmx-invvpid-all-context' added='yes'/> <feature name='vmx-invvpid-single-addr' added='yes'/> - <feature name='vmx-invvpid-single-context' added='yes'/> <feature name='vmx-invvpid-single-context-noglobals' added='yes'/> <feature name='vmx-io-bitmap' added='yes'/> <feature name='vmx-io-exit' added='yes'/> diff --git a/src/cpu_map/x86_Nehalem.xml b/src/cpu_map/x86_Nehalem.xml index 6c0dfba451..74b85701e8 100644 --- a/src/cpu_map/x86_Nehalem.xml +++ b/src/cpu_map/x86_Nehalem.xml @@ -73,7 +73,6 @@ <feature name='vmx-invvpid' added='yes'/> <feature name='vmx-invvpid-all-context' added='yes'/> <feature name='vmx-invvpid-single-addr' added='yes'/> - <feature name='vmx-invvpid-single-context' added='yes'/> <feature name='vmx-invvpid-single-context-noglobals' added='yes'/> <feature name='vmx-io-bitmap' added='yes'/> <feature name='vmx-io-exit' added='yes'/> diff --git a/src/cpu_map/x86_SandyBridge-IBRS.xml b/src/cpu_map/x86_SandyBridge-IBRS.xml index 6d2b5028ee..d2071f3367 100644 --- a/src/cpu_map/x86_SandyBridge-IBRS.xml +++ b/src/cpu_map/x86_SandyBridge-IBRS.xml @@ -77,7 +77,6 @@ <feature name='vmx-invvpid' added='yes'/> <feature name='vmx-invvpid-all-context' added='yes'/> <feature name='vmx-invvpid-single-addr' added='yes'/> - <feature name='vmx-invvpid-single-context' added='yes'/> <feature name='vmx-invvpid-single-context-noglobals' added='yes'/> <feature name='vmx-io-bitmap' added='yes'/> <feature name='vmx-io-exit' added='yes'/> diff --git a/src/cpu_map/x86_SandyBridge.xml b/src/cpu_map/x86_SandyBridge.xml index de3ad60e3d..c5d342e0d0 100644 --- a/src/cpu_map/x86_SandyBridge.xml +++ b/src/cpu_map/x86_SandyBridge.xml @@ -76,7 +76,6 @@ <feature name='vmx-invvpid' added='yes'/> <feature name='vmx-invvpid-all-context' added='yes'/> <feature name='vmx-invvpid-single-addr' added='yes'/> - <feature name='vmx-invvpid-single-context' added='yes'/> <feature name='vmx-invvpid-single-context-noglobals' added='yes'/> <feature name='vmx-io-bitmap' added='yes'/> <feature name='vmx-io-exit' added='yes'/> diff --git a/src/cpu_map/x86_SapphireRapids.xml b/src/cpu_map/x86_SapphireRapids.xml index 6321dd36d9..1e53b30dd3 100644 --- a/src/cpu_map/x86_SapphireRapids.xml +++ b/src/cpu_map/x86_SapphireRapids.xml @@ -144,7 +144,6 @@ <feature name='vmx-invvpid' added='yes'/> <feature name='vmx-invvpid-all-context' added='yes'/> <feature name='vmx-invvpid-single-addr' added='yes'/> - <feature name='vmx-invvpid-single-context' added='yes'/> <feature name='vmx-invvpid-single-context-noglobals' added='yes'/> <feature name='vmx-io-bitmap' added='yes'/> <feature name='vmx-io-exit' added='yes'/> diff --git a/src/cpu_map/x86_Skylake-Client-IBRS.xml b/src/cpu_map/x86_Skylake-Client-IBRS.xml index 7d0d3c7114..892aef2031 100644 --- a/src/cpu_map/x86_Skylake-Client-IBRS.xml +++ b/src/cpu_map/x86_Skylake-Client-IBRS.xml @@ -105,7 +105,6 @@ <feature name='vmx-invvpid' added='yes'/> <feature name='vmx-invvpid-all-context' added='yes'/> <feature name='vmx-invvpid-single-addr' added='yes'/> - <feature name='vmx-invvpid-single-context' added='yes'/> <feature name='vmx-invvpid-single-context-noglobals' added='yes'/> <feature name='vmx-io-bitmap' added='yes'/> <feature name='vmx-io-exit' added='yes'/> diff --git a/src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml b/src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml index 383270f5f9..63e5a02296 100644 --- a/src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml +++ b/src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml @@ -103,7 +103,6 @@ <feature name='vmx-invvpid' added='yes'/> <feature name='vmx-invvpid-all-context' added='yes'/> <feature name='vmx-invvpid-single-addr' added='yes'/> - <feature name='vmx-invvpid-single-context' added='yes'/> <feature name='vmx-invvpid-single-context-noglobals' added='yes'/> <feature name='vmx-io-bitmap' added='yes'/> <feature name='vmx-io-exit' added='yes'/> diff --git a/src/cpu_map/x86_Skylake-Client.xml b/src/cpu_map/x86_Skylake-Client.xml index 84789d642a..83cc6780c7 100644 --- a/src/cpu_map/x86_Skylake-Client.xml +++ b/src/cpu_map/x86_Skylake-Client.xml @@ -104,7 +104,6 @@ <feature name='vmx-invvpid' added='yes'/> <feature name='vmx-invvpid-all-context' added='yes'/> <feature name='vmx-invvpid-single-addr' added='yes'/> - <feature name='vmx-invvpid-single-context' added='yes'/> <feature name='vmx-invvpid-single-context-noglobals' added='yes'/> <feature name='vmx-io-bitmap' added='yes'/> <feature name='vmx-io-exit' added='yes'/> diff --git a/src/cpu_map/x86_Skylake-Server-IBRS.xml b/src/cpu_map/x86_Skylake-Server-IBRS.xml index 8cd25a2df4..84f67c6278 100644 --- a/src/cpu_map/x86_Skylake-Server-IBRS.xml +++ b/src/cpu_map/x86_Skylake-Server-IBRS.xml @@ -109,7 +109,6 @@ <feature name='vmx-invvpid' added='yes'/> <feature name='vmx-invvpid-all-context' added='yes'/> <feature name='vmx-invvpid-single-addr' added='yes'/> - <feature name='vmx-invvpid-single-context' added='yes'/> <feature name='vmx-invvpid-single-context-noglobals' added='yes'/> <feature name='vmx-io-bitmap' added='yes'/> <feature name='vmx-io-exit' added='yes'/> diff --git a/src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml b/src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml index f3877bfbec..081e30f5ad 100644 --- a/src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml +++ b/src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml @@ -108,7 +108,6 @@ <feature name='vmx-invvpid' added='yes'/> <feature name='vmx-invvpid-all-context' added='yes'/> <feature name='vmx-invvpid-single-addr' added='yes'/> - <feature name='vmx-invvpid-single-context' added='yes'/> <feature name='vmx-invvpid-single-context-noglobals' added='yes'/> <feature name='vmx-io-bitmap' added='yes'/> <feature name='vmx-io-exit' added='yes'/> diff --git a/src/cpu_map/x86_Skylake-Server.xml b/src/cpu_map/x86_Skylake-Server.xml index 78bd727357..e814b8dcf3 100644 --- a/src/cpu_map/x86_Skylake-Server.xml +++ b/src/cpu_map/x86_Skylake-Server.xml @@ -108,7 +108,6 @@ <feature name='vmx-invvpid' added='yes'/> <feature name='vmx-invvpid-all-context' added='yes'/> <feature name='vmx-invvpid-single-addr' added='yes'/> - <feature name='vmx-invvpid-single-context' added='yes'/> <feature name='vmx-invvpid-single-context-noglobals' added='yes'/> <feature name='vmx-io-bitmap' added='yes'/> <feature name='vmx-io-exit' added='yes'/> diff --git a/src/cpu_map/x86_Snowridge.xml b/src/cpu_map/x86_Snowridge.xml index b31ce6f9f5..b254c7d71e 100644 --- a/src/cpu_map/x86_Snowridge.xml +++ b/src/cpu_map/x86_Snowridge.xml @@ -103,7 +103,6 @@ <feature name='vmx-invvpid' added='yes'/> <feature name='vmx-invvpid-all-context' added='yes'/> <feature name='vmx-invvpid-single-addr' added='yes'/> - <feature name='vmx-invvpid-single-context' added='yes'/> <feature name='vmx-invvpid-single-context-noglobals' added='yes'/> <feature name='vmx-io-bitmap' added='yes'/> <feature name='vmx-io-exit' added='yes'/> diff --git a/src/cpu_map/x86_Westmere-IBRS.xml b/src/cpu_map/x86_Westmere-IBRS.xml index 534c752ed9..5d2fd81b8d 100644 --- a/src/cpu_map/x86_Westmere-IBRS.xml +++ b/src/cpu_map/x86_Westmere-IBRS.xml @@ -72,7 +72,6 @@ <feature name='vmx-invvpid' added='yes'/> <feature name='vmx-invvpid-all-context' added='yes'/> <feature name='vmx-invvpid-single-addr' added='yes'/> - <feature name='vmx-invvpid-single-context' added='yes'/> <feature name='vmx-invvpid-single-context-noglobals' added='yes'/> <feature name='vmx-io-bitmap' added='yes'/> <feature name='vmx-io-exit' added='yes'/> diff --git a/src/cpu_map/x86_Westmere.xml b/src/cpu_map/x86_Westmere.xml index 4edc5b3839..abbfb186b4 100644 --- a/src/cpu_map/x86_Westmere.xml +++ b/src/cpu_map/x86_Westmere.xml @@ -73,7 +73,6 @@ <feature name='vmx-invvpid' added='yes'/> <feature name='vmx-invvpid-all-context' added='yes'/> <feature name='vmx-invvpid-single-addr' added='yes'/> - <feature name='vmx-invvpid-single-context' added='yes'/> <feature name='vmx-invvpid-single-context-noglobals' added='yes'/> <feature name='vmx-io-bitmap' added='yes'/> <feature name='vmx-io-exit' added='yes'/> diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 45565326a5..0d4f8a5fcd 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -3535,6 +3535,7 @@ const char *ignoredFeatures[] = { "cmt", "mbm_total", "mbm_local", /* never supported by QEMU */ "osxsave", "ospke", /* dropped from QEMU */ "vmx-ept-uc", "vmx-ept-wb", /* never supported by QEMU */ + "vmx-invvpid-single-context", /* never supported by QEMU */ }; bool -- 2.46.2

On a Tuesday in 2024, Jiri Denemark wrote:
Sigh.
Sigh happens.
Jiri Denemark (7): qemu: Drop vmx-* from migratable CPU model only when origCPU is set qemu: Do not drop unknown CPU features from domain XML cpu-data.py: Properly handle aliases qemu: Translate vmx-invvpid-single-context-noglobals CPU feature qemu: Replace big condition in virQEMUCapsCPUFilterFeatures with array cpu_map: Drop vmx-ept-{uc,wb} features from CPU models cpu_map: Drop vmx-invvpid-single-context from CPU models
src/cpu_map/sync_qemu_features_i386.py | 3 -- src/cpu_map/sync_qemu_models_i386.py | 5 ++-
[..]
.../x86_64-cpuid-Xeon-Platinum-9242-json.xml | 1 + ...-cpuid-baseline-Cooperlake+Cascadelake.xml | 1 + 46 files changed, 53 insertions(+), 123 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano
participants (2)
-
Jiri Denemark
-
Ján Tomko