On Tue, Feb 25, 2014 at 08:36:27AM +0100, Andreas Färber wrote: > From: Eduardo Habkost <ehabk...@redhat.com> > > Register separate QOM types for each x86 CPU model. > > This will allow management code to more easily probe what each CPU model > provides, by simply creating objects using the appropriate class name, > without having to restart QEMU. > > This also allows us to eliminate the qdev_prop_set_globals_for_type() > hack to set CPU-model-specific global properties. > > Instead of creating separate class_init functions for each class, I just > used class_data to store a pointer to the X86CPUDefinition struct for > each CPU model. This should make the patch shorter and easier to review. > Later we can gradually convert each X86CPUDefinition field to lists of > per-class property defaults. > > The "host" CPU model is special, as the feature flags depend on KVM > being initialized. So it has its own class_init and instance_init > function, and feature flags are set on instance_init instead of > class_init. > > Signed-off-by: Andreas Färber <afaer...@suse.de> > Signed-off-by: Igor Mammedov <imamm...@redhat.com> > Signed-off-by: Eduardo Habkost <ehabk...@redhat.com> > Signed-off-by: Andreas Färber <afaer...@suse.de>
For the changes you introduced: Reviewed-by: Eduardo Habkost <ehabk...@redhat.com> Tested-by: Eduardo Habkost <ehabk...@redhat.com> After hacking the code to allow device_add on CPUs, I could use the classes to instantiate CPUs from different models using device_add (which would be useful to allow probing of CPU model information in a single QEMU instance). -- Eduardo