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(a)redhat.com>
---
src/qemu/qemu_capabilities.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 7d0cb2caaa4a..e1e28e5cd1aa 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -3583,6 +3583,9 @@ virQEMUCapsCPUFeatureTranslationTable virQEMUCapsCPUFeaturesX86[] =
{
{"perfctr_nb", "perfctr-nb"},
{"tsc_adjust", "tsc-adjust"},
{"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}
};
--
2.47.0