Based-on: <154385451622.17724.12272989665681200621.st...@gimli.home> To help us make machine-type version differences introspectable by QEMU, the info need to be available at class_init time, and not require instantiating a machine object.
This series moves machine-type version differences to class_init functions, and let us eliminate version-specific instance_init functions from spapr and virt. On PC the pc_compat_*() functions still have some KVM-specific code that needs to be moved to class_init before we delete the pc_compat_*() functions. We will probably be able to implement this using AccelClass::compat_props later. I also plan to move default_machine_opts data to MachineClass::compat_props, after the compat_props/globals cleanup[1] being implemented by Marc-André Lureau is merged. [1] https://www.mail-archive.com/qemu-devel@nongnu.org/msg576381.html Eduardo Habkost (5): virt: Eliminate separate instance_init functions spapr: Use default_machine_opts to set use_hotplug_event_source spapr: Use default_machine_opts to set suppress_vmdesc spapr: Delete instance_options functions pc: Use default_machine_opts to set suppress_vmdesc hw/arm/virt.c | 87 +++++++++++--------------------------------- hw/i386/pc_piix.c | 2 +- hw/ppc/spapr.c | 91 ++--------------------------------------------- 3 files changed, 24 insertions(+), 156 deletions(-) -- 2.18.0.rc1.1.g3f1ff2140