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