
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