On Wed, Apr 19, 2017 at 16:02:48 +0200, Pavel Hrdina wrote:
On Thu, Apr 13, 2017 at 03:32:58PM +0200, Jiri Denemark wrote:
> With QEMU older than 2.9.0 libvirt uses CPUID instruction to determine
> what CPU features are supported on the host. This was later used when
> checking compatibility of guest CPUs. Since QEMU 2.9.0 we ask QEMU for
> the host CPU data. But the two methods we use usually provide disjoint
> sets of CPU features because QEMU/KVM does not support all features
> provided by the host CPU and on the other hand it can enable some
> feature even if the host CPU does not support them.
>
> So if there is a domain which requires a CPU features disabled by
> QEMU/KVM, libvirt will refuse to start it with QEMU > 2.9.0 as its guest
> CPU is incompatible with the host CPU data we got from QEMU. But such
> domain would happily start on older QEMU (of course, the features would
> be missing the guest CPU). To fix this regression, we need to combine
> both CPU feature sets when checking guest CPU compatibility.
>
>
https://bugzilla.redhat.com/show_bug.cgi?id=1439933
>
> Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
> ---
> src/qemu/qemu_capabilities.c | 35 +++++++++++++++++++++++++++++++++--
> src/qemu/qemu_capabilities.h | 4 ++++
> src/qemu/qemu_process.c | 2 +-
> 3 files changed, 38 insertions(+), 3 deletions(-)
ACK
Thanks, I pushed this series.
Jirka