diff mbox

[2/6] ppc: spapr: introduce 2.5 machine type

Message ID 1440147950-1178-3-git-send-email-jasowang@redhat.com
State New
Headers show

Commit Message

Jason Wang Aug. 21, 2015, 9:05 a.m. UTC
This will be used by virtio 1.0 virtio-pci virtqueue migration
backward compatibility.

Cc: David Gibson <david@gibson.dropbear.id.au>
Cc: Alexander Graf <agraf@suse.de>
Cc: qemu-ppc@nongnu.org
Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/ppc/spapr.c | 40 ++++++++++++++++++++++++++++++++++++++--
 1 file changed, 38 insertions(+), 2 deletions(-)

Comments

David Gibson Aug. 22, 2015, 12:10 a.m. UTC | #1
On Fri, Aug 21, 2015 at 05:05:46PM +0800, Jason Wang wrote:
> This will be used by virtio 1.0 virtio-pci virtqueue migration
> backward compatibility.
> 
> Cc: David Gibson <david@gibson.dropbear.id.au>
> Cc: Alexander Graf <agraf@suse.de>
> Cc: qemu-ppc@nongnu.org
> Signed-off-by: Jason Wang <jasowang@redhat.com>

There's already a more or less equivalent patch in the spapr-next
branch.
Jason Wang Aug. 24, 2015, 5:37 a.m. UTC | #2
On 08/22/2015 08:10 AM, David Gibson wrote:
> On Fri, Aug 21, 2015 at 05:05:46PM +0800, Jason Wang wrote:
>> This will be used by virtio 1.0 virtio-pci virtqueue migration
>> backward compatibility.
>>
>> Cc: David Gibson <david@gibson.dropbear.id.au>
>> Cc: Alexander Graf <agraf@suse.de>
>> Cc: qemu-ppc@nongnu.org
>> Signed-off-by: Jason Wang <jasowang@redhat.com>
> There's already a more or less equivalent patch in the spapr-next
> branch.
>

Will drop this from the series. Thanks
diff mbox

Patch

diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index a6f1947..7d5b0db 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -1855,7 +1855,11 @@  static const TypeInfo spapr_machine_info = {
     },
 };
 
+#define SPAPR_COMPAT_2_4 \
+        HW_COMPAT_2_4
+
 #define SPAPR_COMPAT_2_3 \
+        SPAPR_COMPAT_2_4 \
         HW_COMPAT_2_3 \
         {\
             .driver   = "spapr-pci-host-bridge",\
@@ -1876,8 +1880,13 @@  static const TypeInfo spapr_machine_info = {
         SPAPR_COMPAT_2_2 \
         HW_COMPAT_2_1
 
+static void spapr_compat_2_4(Object *obj)
+{
+}
+
 static void spapr_compat_2_3(Object *obj)
 {
+    spapr_compat_2_4(obj);
     savevm_skip_section_footers();
     global_state_set_optional();
 }
@@ -1892,6 +1901,12 @@  static void spapr_compat_2_1(Object *obj)
     spapr_compat_2_2(obj);
 }
 
+static void spapr_machine_2_4_instance_init(Object *obj)
+{
+    spapr_compat_2_4(obj);
+    spapr_machine_initfn(obj);
+}
+
 static void spapr_machine_2_3_instance_init(Object *obj)
 {
     spapr_compat_2_3(obj);
@@ -1972,18 +1987,38 @@  static const TypeInfo spapr_machine_2_3_info = {
 
 static void spapr_machine_2_4_class_init(ObjectClass *oc, void *data)
 {
+    static GlobalProperty compat_props[] = {
+        SPAPR_COMPAT_2_4
+        { /* end of list */ }
+    };
     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;
+    mc->compat_props = compat_props;
 }
 
 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,
+    .instance_init = spapr_machine_2_4_instance_init,
+};
+
+static void spapr_machine_2_5_class_init(ObjectClass *oc, void *data)
+{
+    MachineClass *mc = MACHINE_CLASS(oc);
+
+    mc->name = "pseries-2.5";
+    mc->desc = "pSeries Logical Partition (PAPR compliant) v2.5";
+    mc->alias = "pseries";
+    mc->is_default = 1;
+}
+
+static const TypeInfo spapr_machine_2_5_info = {
+    .name          = TYPE_SPAPR_MACHINE "2.5",
+    .parent        = TYPE_SPAPR_MACHINE,
+    .class_init    = spapr_machine_2_5_class_init,
 };
 
 static void spapr_machine_register_types(void)
@@ -1993,6 +2028,7 @@  static void spapr_machine_register_types(void)
     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_register_static(&spapr_machine_2_5_info);
 }
 
 type_init(spapr_machine_register_types)