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
models.
Regards,
Dor
Jirka