pseries: DEFINE_SPAPR_MACHINE
authorDavid Gibson <david@gibson.dropbear.id.au>
Mon, 7 Dec 2015 03:23:20 +0000 (14:23 +1100)
committerDavid Gibson <david@gibson.dropbear.id.au>
Mon, 11 Jan 2016 04:29:05 +0000 (15:29 +1100)
commit5013c5474658c1adea6d5448979dfe399b27e194
tree09ac51d920a4b5d8fc43903eac2f95000ed456ee
parentf949b4e5f5f8ce51d89d22567741c27fdcb0c106
pseries: DEFINE_SPAPR_MACHINE

At the moment all the class_init functions and TypeInfo structures for the
various versioned pseries machine types are open-coded.  As more versions
are created this is getting increasingly clumsy.

This patch borrows the approach used in PC, using a DEFINE_SPAPR_MACHINE()
macro to construct most of the boilerplate from simpler 'class_options' and
'instance_options' functions.

This patch makes a small semantic change - the versioned machine types are
now registered through machine_init() instead of type_init().  Since the
new way is how PC already did it, I'm assuming that's correct.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Sam Bobroff <sam.bobroff@au1.ibm.com>
Reviewed-by: Alexey Kardashevskiy <aik@ozlabs.ru>
hw/ppc/spapr.c