qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 0/3] target-i386: Don't trigger CPUID warning


From: Eduardo Habkost
Subject: Re: [Qemu-devel] [PATCH v2 0/3] target-i386: Don't trigger CPUID warnings by default in KVM mode (in most hosts)
Date: Tue, 3 Nov 2015 20:54:43 -0200
User-agent: Mutt/1.5.23 (2014-03-12)

On Tue, Nov 03, 2015 at 09:22:30PM +0100, Paolo Bonzini wrote:
> On 03/11/2015 20:58, Eduardo Habkost wrote:
> > The x86 change to make "check" mode be enabled by default made QEMU print
> > warnings in the default case if running in an Intel host:
> > 
> >   $ qemu-system-x86_64 -machine pc,accel=kvm
> >   warning: host doesn't support requested feature: 
> > CPUID.80000001H:ECX.sse4a [bit 6]
> > 
> > There's also a warning when about missing the ABM feature if running on a 
> > Sandy
> > Bridge or older host.
> > 
> > ABM is not available on Sandy Bridge and older, SSE4a is not available in 
> > any
> > Intel host. We want to make the default CPU runnable in most hosts, so those
> > features won't be enabled by default in KVM mode.
> > 
> > We should eventually have all features supported by TCG enabled by default 
> > in
> > TCG mode, but as we don't have a good mechanism today to ensure we have
> > different defaults in KVM and TCG mode, disable ABM and SSE4a in the qemu64 
> > CPU
> > model entirely.
> > 
> > Also, as we can't change the guest ABI in pc-*-2.4, disable "check" mode by
> > default in pc-*-2.4 and older so we don't print spurious warnings.
> > 
> > Note that with this change, the qemu64 CPU model still requires a host
> > supporting POPCNT (Nehalem or newer, and Opteron_G3 or newer).
> 
> Do we want to remove that one as well?

Probably, yes. libvirt even has these commented out in their cpu_map.xml:

    <model name='qemu64'>
      <model name='kvm64'/>
      <!-- These are supported only by TCG.  KVM supports them only if the
           host does.  So we leave them out:

           <feature name='popcnt'/>
           <feature name='lahf_lm'/>
           <feature name='sse4a'/>
           <feature name='abm'/>
      -->
      <feature name='svm'/>
    </model>

(libvirt must stop making assumptions about the CPU model feature sets so
all <feature> elements in cpu_map.xml should go away. But at least the
current cpu_map.xml is a good reference to what it expects today.)

-- 
Eduardo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]