In order to guarantee compatibility on migration, QEMU should have
complete control over the features it announces to the guest via CPUID.
However, a number of Hyper-V-related features happen to depend on the
support in the underlying KVM, with no regard to QEMU configuration.
Make QEMU regain control over what Hyper-V features it announces to the
guest.
Note #1: the patches are also being proposed[*] for stable-2.11, even
though one of them introduces a new cpu property. This is done to
minimize the number of published QEMU releases where the behavior of the
features is unpredictable, with potentially fatal consequences for the
guest.
Note #2: there are other problems in the surrounding code, like ugly
error reporting or inconsistent population of MSRs. I think this can be
put off to post-2.12.
[*] for the stable branch the second patch will have error returns
replaced with warnings; I'll post a separate series.
v1 -> v2:
- indicate what flag requested the feature that can't be enabled in the
error message
- fix a typo in the error message for VP_RUNTIME
Roman Kagan (2):
i386/hyperv: add hv-frequencies cpu property
i386/hyperv: error out if features requested but unsupported
target/i386/cpu.h | 1 +
target/i386/cpu.c | 1 +
target/i386/kvm.c | 45 +++++++++++++++++++++++++++++++++++++--------
3 files changed, 39 insertions(+), 8 deletions(-)
--
2.14.3