On Fri, Jan 31, 2014 at 05:52:57PM +0100, Paolo Bonzini wrote:
Il 31/01/2014 17:42, Eduardo Habkost ha scritto:
>>> It looks like only -device would be able to create actual CPU models,
>>> but for -device to work we need as minimum this series and conversion
>>> of CPU features to properties in tree. Then I guess we can override
>>> cannot_instantiate_with_device_add_yet for x86 CPUs.
>Setting cannot_instantiate_with_device_add_yet=false looks much simpler
>than implementing UserCreatable. My question is: may we do that, already
>(once this series gets included), or is there something else holding us
>from doing it?
Once you make something creatable with "-object", the API must not
change anymore. So we would have to think twice about that.
Allowing -device may be okay, since in the (very?) long term -device
can be replaced by -object. But -object is definitive.
OK, one additional reason to try device_add first.
But then we have one additional problem:
* We want to allow libvirt to probe for CPU model information when
running QEMU using "-machine none" (because libvirt already does
that, and we don't want to require libvirt to run QEMU multiple
times)
* "device_add driver=<model>-x86_64-cpu" requires an icc-bus to be
present
* -machine none doesn't have any bus
* I don't see a way to create an icc-bus through QMP (is there a way?)
--
Eduardo