On Thu, Jan 30, 2014 at 05:48:59PM -0200, Eduardo Habkost wrote:
Register separate QOM classes 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_dat 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.
Signed-off-by: Eduardo Habkost <ehabkost(a)redhat.com>
---
This version is closer to the version sent by Andrea and then later
resubmitted by Igor as "[RFC v5] target-i386: Slim conversion to X86CPU
subclasses + KVM subclasses", as it doesn't create one new class_init
function for each subclass. One main difference is that this version
does not use KVM-specific subclasses, to keep things simpler.
I will submit a new version of this patch later, as I will:
* Split some changes that can be made in a separate patch, after
the conversion (the x86_cpudef_setup() removal and the CPU listing
code);
* Add proper attribution to Andreas and Igor, who wrote
"[RFC v5] target-i386: Slim conversion to X86CPU subclasses + KVM
subclasses".
--
Eduardo