qemu: Add more translations to virQEMUCapsCPUFeatureTranslationTable

Hyper-V enlightenment features can have hyphenated names which libvirt
exposes under Hyper-V features with underscored names.  When libvirt
checks that all requested features were enabled by QEMU (on x86
architectures) it first queries for all those that QEMU knows and
compiles them in a map while using the virQEMUCapsCPUFeaturesX86 for
translations.

Some features (well, all Hyper-V features with underscores) were not
present in the translation table and were incorrectly reported as not
enabled, consequently failing the start of any such domain.

Add all hyphenated/underscored Hyper-V feature names into the
aforementioned translation table.  That way domains with these features
enabled can be started when QEMU and the kernel support them.

Resolves: https://issues.redhat.com/browse/RHEL-7122
Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
This commit is contained in:
Martin Kletzander 2024-10-16 14:31:38 +02:00
parent 5148f64a3c
commit ca8c0862ac

View File

@ -3583,6 +3583,9 @@ virQEMUCapsCPUFeatureTranslationTable virQEMUCapsCPUFeaturesX86[] = {
{"perfctr_nb", "perfctr-nb"}, {"perfctr_nb", "perfctr-nb"},
{"tsc_adjust", "tsc-adjust"}, {"tsc_adjust", "tsc-adjust"},
{"vmx-invvpid-single-context-noglobals", "vmx-invept-single-context-noglobals"}, {"vmx-invvpid-single-context-noglobals", "vmx-invept-single-context-noglobals"},
{"hv-vendor_id", "hv-vendor-id"},
{"hv-emsr_bitmap", "hv-emsr-bitmap"},
{"hv-xmm_input", "hv-xmm-input"},
{NULL, NULL} {NULL, NULL}
}; };