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

Anthony Liguori anthony at codemonkey.ws
Sun Mar 25 13:22:58 UTC 2012


On 03/25/2012 08:14 AM, Avi Kivity wrote:
> On 03/25/2012 03:12 PM, Anthony Liguori wrote:
>>>> qemu -M pc
>>>>
>>>> Would effectively be short hand for -readconfig
>>>> /usr/share/qemu/machines/pc.cfg
>>>
>>> In that case
>>>
>>>    qemu -cpu westmere
>>>
>>> is shorthand for -readconfig /usr/share/qemu/cpus/westmere.cfg.
>>
>>
>> This is not a bad suggestion, although it would make -cpu ? a bit
>> awkward.  Do you see an advantage to this over having
>> /usr/share/qemu/target-x86_64-cpus.cfg that's read early on?
>
> Nope.  As long as qemu -nodefconfig -cpu westmere works, I'm happy.

Why?  What's wrong with:

qemu -nodefconfig -readconfig /usr/share/qemu/cpus/target-x86_64-cpus.cfg \
      -cpu westmere

And if that's not okay, would:

qemu -nodefconfig -nocpudefconfig -cpu Westmere

Not working be a problem?

> The reasoning is, loading target-x86_64-cpus.cfg does not alter the
> current instance's configuration, so reading it doesn't violate
> -nodefconfig.

I think we have a different view of what -nodefconfig does.

We have a couple options today:

-nodefconfig

Don't read the default configuration files.  By default, we read 
/etc/qemu/qemu.cfg and /etc/qemu/target-$(ARCH).cfg

-nodefaults

Don't create default devices.

-vga none

Don't create the default VGA device (not covered by -nodefaults).

With these two options, the semantics you get an absolutely minimalistic 
instance of QEMU.  Tools like libguestfs really want to create the simplest 
guest and do the least amount of processing so the guest runs as fast as possible.

It does suck a lot that this isn't a single option.  I would much prefer 
-nodefaults to be implied by -nodefconfig.  Likewise, I would prefer that 
-nodefaults implied -vga none.

>>>> files be read by default or just treated as additional configuration
>>>> files.
>>>
>>> If they're read as soon as they're referenced, what's the difference?
>> I think the thread has reduced to: should /usr/share configuration
>>
>> I suspect libvirt would not be happy with reading configuration files
>> on demand..
>
> Why not?

It implies a bunch of SELinux labeling to make sVirt work.  libvirt tries very 
hard to avoid having QEMU read *any* files at all when it starts up.

Regards,

Anthony Liguori





More information about the libvir-list mailing list