From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39556) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yo4eB-0008Pp-DU for qemu-devel@nongnu.org; Fri, 01 May 2015 02:42:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Yo4e7-0001Jr-GQ for qemu-devel@nongnu.org; Fri, 01 May 2015 02:42:03 -0400 From: David Gibson Date: Fri, 1 May 2015 16:41:31 +1000 Message-Id: <1430462510-14195-14-git-send-email-david@gibson.dropbear.id.au> In-Reply-To: <1430462510-14195-1-git-send-email-david@gibson.dropbear.id.au> References: <1430462510-14195-1-git-send-email-david@gibson.dropbear.id.au> Subject: [Qemu-devel] [PATCH 13/32] pseries: Add pseries-2.4 machine type List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: agraf@suse.de Cc: qemu-devel@nongnu.org, David Gibson , qemu-ppc@nongnu.org, afaerber@suse.de, mdroth@linux.vnet.ibm.com Now that 2.4 development has opened, create a new pseries machine type variant. For now it is identical to the pseries-2.3 machine type, but a number of new features are coming that will need to set backwards compatibility options. Signed-off-by: David Gibson --- hw/ppc/spapr.c | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index 644689a..30ed494 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -1866,12 +1866,15 @@ static const TypeInfo spapr_machine_2_2_info = { static void spapr_machine_2_3_class_init(ObjectClass *oc, void *data) { + static GlobalProperty compat_props[] = { + /* SPAPR_COMPAT_2_3, */ + { /* end of list */ } + }; MachineClass *mc = MACHINE_CLASS(oc); mc->name = "pseries-2.3"; mc->desc = "pSeries Logical Partition (PAPR compliant) v2.3"; - mc->alias = "pseries"; - mc->is_default = 1; + mc->compat_props = compat_props; } static const TypeInfo spapr_machine_2_3_info = { @@ -1880,12 +1883,29 @@ static const TypeInfo spapr_machine_2_3_info = { .class_init = spapr_machine_2_3_class_init, }; +static void spapr_machine_2_4_class_init(ObjectClass *oc, void *data) +{ + MachineClass *mc = MACHINE_CLASS(oc); + + mc->name = "pseries-2.4"; + mc->desc = "pSeries Logical Partition (PAPR compliant) v2.4"; + mc->alias = "pseries"; + mc->is_default = 1; +} + +static const TypeInfo spapr_machine_2_4_info = { + .name = TYPE_SPAPR_MACHINE "2.4", + .parent = TYPE_SPAPR_MACHINE, + .class_init = spapr_machine_2_4_class_init, +}; + static void spapr_machine_register_types(void) { type_register_static(&spapr_machine_info); type_register_static(&spapr_machine_2_1_info); type_register_static(&spapr_machine_2_2_info); type_register_static(&spapr_machine_2_3_info); + type_register_static(&spapr_machine_2_4_info); } type_init(spapr_machine_register_types) -- 2.1.0