On Mon, Oct 03, 2016 at 05:42:36PM +0100, Daniel P. Berrange wrote:
> On Tue, Sep 27, 2016 at 05:12:24PM -0300, Eduardo Habkost wrote:
> > This will reuse the existing check/enforce logic in
> > x86_cpu_filter_features() to check the xsave component bits
> > against GET_SUPPORTED_CPUID.
> > 
> > Reviewed-by: Richard Henderson <[email protected]>
> > Signed-off-by: Eduardo Habkost <[email protected]>
> > ---
> >  target-i386/cpu.c | 42 ++++++++++++++++++++++++++++--------------
> >  target-i386/cpu.h |  3 ++-
> >  2 files changed, 30 insertions(+), 15 deletions(-)
> 
> git bisect tells me that this change is responsible for breaking booting
> of a guest of mine which uses -cpu host
> 
> GRUB works, but the guest kernel hangs immediately after printing
> 
> "Probing EDD (edd=off to disable)... ok"
> 
> Removing '-cpu host' lets it work again.
[...]
> In case its relevant, QEMU prints this to stderr:
> 
> warning: host doesn't support requested feature: CPUID.0DH:EAX [bit 0]
> warning: host doesn't support requested feature: CPUID.0DH:EAX [bit 1]
> warning: host doesn't support requested feature: CPUID.0DH:EAX [bit 2]

This was reported by Wanpeng Li last week. The fix ("target-i386:
Report known CPUID[EAX=0xD,ECX=0]:EAX bits as migratable") is in
the pull request I sent today.

You can also work around it by using "-cpu host,migratable=off".

-- 
Eduardo

Reply via email to