[libvirt] [Qemu-devel] Modern CPU models cannot be used with libvirt

Dor Laor dlaor at redhat.com
Sun Dec 18 10:07:36 UTC 2011

On 12/15/2011 05:30 PM, Jiri Denemark wrote:
> On Thu, Dec 15, 2011 at 08:58:55 -0600, Anthony Liguori wrote:
>> Pass '-readconfig /etc/qemu/target-x86_64.conf' to pick up those models and if
>> you are absolutely insistent on not giving the user any ability to change things
>> on their own, cp the file from qemu.git into libvirt.git and install it in a
>> safe place.
> Ah, this looks like a good idea (and we could even generate that file
> dynamically if we add support for family/stepping/... and other things that we
> do not model now). However, separating these definitions from qemu may result
> in incompatibilities with older qemu versions. I guess mainly because our
> configuration file would mention a CPU feature that an installed qemu version
> doesn't understand. Currently, qemu seems to just ignore such feature
> (although it prints an error) and continues happily without it. Is there
> any way for us to ask qemu what CPU features it knows about so that we could
> avoid using a CPU models which include features qemu doesn't understand?

Libvirt should use the 'enforce' option and there is also a 'check' one too:

 > qemu-kvm -cpu Conroe,+avx,enforce
warning: host cpuid 0000_0001 lacks requested flag 'avx' [0x10000000]
Unable to find x86 CPU definition

Qemu supports backward compatibility of the command line and if libvirt 
stores additional cpuid related definitions it should still work on 
other qemu releases.

btw: I do prompt the usage of the 'formal' cpu models as much as it can. 
If a user likes to toggle various options it should do it on top of our 

> Jirka

More information about the libvir-list mailing list