diff mbox

[1/2] compat: Introduce HW_COMPAT_2_5

Message ID 1450423803-12839-2-git-send-email-shmulik.ladkani@ravellosystems.com
State New
Headers show

Commit Message

Shmulik Ladkani Dec. 18, 2015, 7:30 a.m. UTC
Introduce the place-holder for 2.5 back-compat properties, and the
accompanying PC_COMPAT_2_5, CCW_COMPAT_2_5, SPAPR_COMPAT_2_5.

Signed-off-by: Shmulik Ladkani <shmulik.ladkani@ravellosystems.com>
---
 hw/i386/pc_piix.c          | 1 +
 hw/i386/pc_q35.c           | 1 +
 hw/ppc/spapr.c             | 9 +++++++++
 hw/s390x/s390-virtio-ccw.c | 9 +++++++++
 include/hw/compat.h        | 3 +++
 include/hw/i386/pc.h       | 4 ++++
 6 files changed, 27 insertions(+)

Comments

Cornelia Huck Dec. 18, 2015, 9:37 a.m. UTC | #1
On Fri, 18 Dec 2015 09:30:02 +0200
Shmulik Ladkani <shmulik.ladkani@ravellosystems.com> wrote:

> Introduce the place-holder for 2.5 back-compat properties, and the
> accompanying PC_COMPAT_2_5, CCW_COMPAT_2_5, SPAPR_COMPAT_2_5.
> 
> Signed-off-by: Shmulik Ladkani <shmulik.ladkani@ravellosystems.com>
> ---
>  hw/i386/pc_piix.c          | 1 +
>  hw/i386/pc_q35.c           | 1 +
>  hw/ppc/spapr.c             | 9 +++++++++
>  hw/s390x/s390-virtio-ccw.c | 9 +++++++++
>  include/hw/compat.h        | 3 +++
>  include/hw/i386/pc.h       | 4 ++++
>  6 files changed, 27 insertions(+)
> 

> diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
> index 5a52ff2..3d79654 100644
> --- a/hw/s390x/s390-virtio-ccw.c
> +++ b/hw/s390x/s390-virtio-ccw.c
> @@ -235,7 +235,11 @@ static const TypeInfo ccw_machine_info = {
>      },
>  };
> 
> +#define CCW_COMPAT_2_5 \
> +        HW_COMPAT_2_5
> +
>  #define CCW_COMPAT_2_4 \
> +        CCW_COMPAT_2_5 \
>          HW_COMPAT_2_4 \
>          {\
>              .driver   = TYPE_S390_SKEYS,\
> @@ -296,10 +300,15 @@ static const TypeInfo ccw_machine_2_4_info = {
>  static void ccw_machine_2_5_class_init(ObjectClass *oc, void *data)
>  {
>      MachineClass *mc = MACHINE_CLASS(oc);
> +    static GlobalProperty compat_props[] = {
> +        CCW_COMPAT_2_5
> +        { /* end of list */ }
> +    };
> 
>      mc->alias = "s390-ccw-virtio";
>      mc->desc = "VirtIO-ccw based S390 machine v2.5";
>      mc->is_default = 1;
> +    mc->compat_props = compat_props;
>  }
> 
>  static const TypeInfo ccw_machine_2_5_info = {

s390x part:

Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com>

<There will be interaction with my patch introducing the ccw 2.6
machine, but nothing that isn't sorted out easily>
Paolo Bonzini Dec. 18, 2015, 1 p.m. UTC | #2
On 18/12/2015 10:37, Cornelia Huck wrote:
> On Fri, 18 Dec 2015 09:30:02 +0200
> Shmulik Ladkani <shmulik.ladkani@ravellosystems.com> wrote:
> 
>> Introduce the place-holder for 2.5 back-compat properties, and the
>> accompanying PC_COMPAT_2_5, CCW_COMPAT_2_5, SPAPR_COMPAT_2_5.
>>
>> Signed-off-by: Shmulik Ladkani <shmulik.ladkani@ravellosystems.com>
>> ---
>>  hw/i386/pc_piix.c          | 1 +
>>  hw/i386/pc_q35.c           | 1 +
>>  hw/ppc/spapr.c             | 9 +++++++++
>>  hw/s390x/s390-virtio-ccw.c | 9 +++++++++
>>  include/hw/compat.h        | 3 +++
>>  include/hw/i386/pc.h       | 4 ++++
>>  6 files changed, 27 insertions(+)
>>
> 
>> diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
>> index 5a52ff2..3d79654 100644
>> --- a/hw/s390x/s390-virtio-ccw.c
>> +++ b/hw/s390x/s390-virtio-ccw.c
>> @@ -235,7 +235,11 @@ static const TypeInfo ccw_machine_info = {
>>      },
>>  };
>>
>> +#define CCW_COMPAT_2_5 \
>> +        HW_COMPAT_2_5
>> +
>>  #define CCW_COMPAT_2_4 \
>> +        CCW_COMPAT_2_5 \
>>          HW_COMPAT_2_4 \
>>          {\
>>              .driver   = TYPE_S390_SKEYS,\
>> @@ -296,10 +300,15 @@ static const TypeInfo ccw_machine_2_4_info = {
>>  static void ccw_machine_2_5_class_init(ObjectClass *oc, void *data)
>>  {
>>      MachineClass *mc = MACHINE_CLASS(oc);
>> +    static GlobalProperty compat_props[] = {
>> +        CCW_COMPAT_2_5
>> +        { /* end of list */ }
>> +    };
>>
>>      mc->alias = "s390-ccw-virtio";
>>      mc->desc = "VirtIO-ccw based S390 machine v2.5";
>>      mc->is_default = 1;
>> +    mc->compat_props = compat_props;
>>  }
>>
>>  static const TypeInfo ccw_machine_2_5_info = {
> 
> s390x part:
> 
> Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com>
> 
> <There will be interaction with my patch introducing the ccw 2.6
> machine, but nothing that isn't sorted out easily>
> 

Feel free to include these in your pull request if it's coming before
say January 6th.

Paolo
David Gibson Dec. 21, 2015, 12:21 a.m. UTC | #3
On Fri, Dec 18, 2015 at 09:30:02AM +0200, Shmulik Ladkani wrote:
> Introduce the place-holder for 2.5 back-compat properties, and the
> accompanying PC_COMPAT_2_5, CCW_COMPAT_2_5, SPAPR_COMPAT_2_5.
> 
> Signed-off-by: Shmulik Ladkani <shmulik.ladkani@ravellosystems.com>

spapr part

Acked-by: David Gibson <david@gibson.dropbear.id.au>

> ---
>  hw/i386/pc_piix.c          | 1 +
>  hw/i386/pc_q35.c           | 1 +
>  hw/ppc/spapr.c             | 9 +++++++++
>  hw/s390x/s390-virtio-ccw.c | 9 +++++++++
>  include/hw/compat.h        | 3 +++
>  include/hw/i386/pc.h       | 4 ++++
>  6 files changed, 27 insertions(+)
> 
> diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
> index 319497e..f34b0fd 100644
> --- a/hw/i386/pc_piix.c
> +++ b/hw/i386/pc_piix.c
> @@ -475,6 +475,7 @@ static void pc_i440fx_2_5_machine_options(MachineClass *m)
>      pc_i440fx_machine_options(m);
>      m->alias = "pc";
>      m->is_default = 1;
> +    SET_MACHINE_COMPAT(m, PC_COMPAT_2_5);
>  }
>  
>  DEFINE_I440FX_MACHINE(v2_5, "pc-i440fx-2.5", NULL,
> diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
> index 9a12068..b3585e0 100644
> --- a/hw/i386/pc_q35.c
> +++ b/hw/i386/pc_q35.c
> @@ -374,6 +374,7 @@ static void pc_q35_2_5_machine_options(MachineClass *m)
>  {
>      pc_q35_machine_options(m);
>      m->alias = "q35";
> +    SET_MACHINE_COMPAT(m, PC_COMPAT_2_5);
>  }
>  
>  DEFINE_Q35_MACHINE(v2_5, "pc-q35-2.5", NULL,
> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> index 6bfb908..6a0bfd7 100644
> --- a/hw/ppc/spapr.c
> +++ b/hw/ppc/spapr.c
> @@ -2298,7 +2298,11 @@ static const TypeInfo spapr_machine_info = {
>      },
>  };
>  
> +#define SPAPR_COMPAT_2_5 \
> +        HW_COMPAT_2_5
> +
>  #define SPAPR_COMPAT_2_4 \
> +        SPAPR_COMPAT_2_5 \
>          HW_COMPAT_2_4
>  
>  #define SPAPR_COMPAT_2_3 \
> @@ -2434,6 +2438,10 @@ static const TypeInfo spapr_machine_2_4_info = {
>  
>  static void spapr_machine_2_5_class_init(ObjectClass *oc, void *data)
>  {
> +    static GlobalProperty compat_props[] = {
> +        SPAPR_COMPAT_2_5
> +        { /* end of list */ }
> +    };
>      MachineClass *mc = MACHINE_CLASS(oc);
>      sPAPRMachineClass *smc = SPAPR_MACHINE_CLASS(oc);
>  
> @@ -2442,6 +2450,7 @@ static void spapr_machine_2_5_class_init(ObjectClass *oc, void *data)
>      mc->alias = "pseries";
>      mc->is_default = 1;
>      smc->dr_lmb_enabled = true;
> +    mc->compat_props = compat_props;
>  }
>  
>  static const TypeInfo spapr_machine_2_5_info = {
> diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
> index 5a52ff2..3d79654 100644
> --- a/hw/s390x/s390-virtio-ccw.c
> +++ b/hw/s390x/s390-virtio-ccw.c
> @@ -235,7 +235,11 @@ static const TypeInfo ccw_machine_info = {
>      },
>  };
>  
> +#define CCW_COMPAT_2_5 \
> +        HW_COMPAT_2_5
> +
>  #define CCW_COMPAT_2_4 \
> +        CCW_COMPAT_2_5 \
>          HW_COMPAT_2_4 \
>          {\
>              .driver   = TYPE_S390_SKEYS,\
> @@ -296,10 +300,15 @@ static const TypeInfo ccw_machine_2_4_info = {
>  static void ccw_machine_2_5_class_init(ObjectClass *oc, void *data)
>  {
>      MachineClass *mc = MACHINE_CLASS(oc);
> +    static GlobalProperty compat_props[] = {
> +        CCW_COMPAT_2_5
> +        { /* end of list */ }
> +    };
>  
>      mc->alias = "s390-ccw-virtio";
>      mc->desc = "VirtIO-ccw based S390 machine v2.5";
>      mc->is_default = 1;
> +    mc->compat_props = compat_props;
>  }
>  
>  static const TypeInfo ccw_machine_2_5_info = {
> diff --git a/include/hw/compat.h b/include/hw/compat.h
> index bcb36ef..3aa35c9 100644
> --- a/include/hw/compat.h
> +++ b/include/hw/compat.h
> @@ -1,6 +1,9 @@
>  #ifndef HW_COMPAT_H
>  #define HW_COMPAT_H
>  
> +#define HW_COMPAT_2_5 \
> +        /* empty */
> +
>  #define HW_COMPAT_2_4 \
>          {\
>              .driver   = "virtio-blk-device",\
> diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
> index 4bf4faf..3b445e4 100644
> --- a/include/hw/i386/pc.h
> +++ b/include/hw/i386/pc.h
> @@ -309,7 +309,11 @@ int e820_add_entry(uint64_t, uint64_t, uint32_t);
>  int e820_get_num_entries(void);
>  bool e820_get_entry(int, uint32_t, uint64_t *, uint64_t *);
>  
> +#define PC_COMPAT_2_5 \
> +        HW_COMPAT_2_5
> +
>  #define PC_COMPAT_2_4 \
> +        PC_COMPAT_2_5 \
>          HW_COMPAT_2_4 \
>          {\
>              .driver   = "Haswell-" TYPE_X86_CPU,\
Shmulik Ladkani Dec. 23, 2015, 7:21 p.m. UTC | #4
Hi,

On Fri, 18 Dec 2015 09:30:02 +0200 Shmulik Ladkani <shmulik.ladkani@ravellosystems.com> wrote:
> Introduce the place-holder for 2.5 back-compat properties, and the
> accompanying PC_COMPAT_2_5, CCW_COMPAT_2_5, SPAPR_COMPAT_2_5.

Please ignore this series, it'll clash.

Recent pull has already introduced HW_COMPAT_2_5 and PC_COMPAT_2_5
(240240d pc: Add pc-*-2.6 machine classes).

I'll send patches introducing only CCW_COMPAT_2_5 and SPAPR_COMPAT_2_5
separately - for completeness.

Thanks,
Shmulik
Paolo Bonzini Jan. 7, 2016, 4:30 p.m. UTC | #5
On 23/12/2015 20:21, Shmulik Ladkani wrote:
> Hi,
> 
> On Fri, 18 Dec 2015 09:30:02 +0200 Shmulik Ladkani <shmulik.ladkani@ravellosystems.com> wrote:
>> Introduce the place-holder for 2.5 back-compat properties, and the
>> accompanying PC_COMPAT_2_5, CCW_COMPAT_2_5, SPAPR_COMPAT_2_5.
> 
> Please ignore this series, it'll clash.
> 
> Recent pull has already introduced HW_COMPAT_2_5 and PC_COMPAT_2_5
> (240240d pc: Add pc-*-2.6 machine classes).
> 
> I'll send patches introducing only CCW_COMPAT_2_5 and SPAPR_COMPAT_2_5

Can you send these now?

Thanks,

Paolo
Cornelia Huck Jan. 7, 2016, 4:33 p.m. UTC | #6
On Thu, 7 Jan 2016 17:30:20 +0100
Paolo Bonzini <pbonzini@redhat.com> wrote:

> On 23/12/2015 20:21, Shmulik Ladkani wrote:
> > Hi,
> > 
> > On Fri, 18 Dec 2015 09:30:02 +0200 Shmulik Ladkani <shmulik.ladkani@ravellosystems.com> wrote:
> >> Introduce the place-holder for 2.5 back-compat properties, and the
> >> accompanying PC_COMPAT_2_5, CCW_COMPAT_2_5, SPAPR_COMPAT_2_5.
> > 
> > Please ignore this series, it'll clash.
> > 
> > Recent pull has already introduced HW_COMPAT_2_5 and PC_COMPAT_2_5
> > (240240d pc: Add pc-*-2.6 machine classes).
> > 
> > I'll send patches introducing only CCW_COMPAT_2_5 and SPAPR_COMPAT_2_5
> 
> Can you send these now?

I've already added the CCW_COMPAT_2_5 patch to my queue.
Paolo Bonzini Jan. 7, 2016, 4:46 p.m. UTC | #7
On 07/01/2016 17:33, Cornelia Huck wrote:
> On Thu, 7 Jan 2016 17:30:20 +0100
> Paolo Bonzini <pbonzini@redhat.com> wrote:
> 
>> On 23/12/2015 20:21, Shmulik Ladkani wrote:
>>> Hi,
>>>
>>> On Fri, 18 Dec 2015 09:30:02 +0200 Shmulik Ladkani <shmulik.ladkani@ravellosystems.com> wrote:
>>>> Introduce the place-holder for 2.5 back-compat properties, and the
>>>> accompanying PC_COMPAT_2_5, CCW_COMPAT_2_5, SPAPR_COMPAT_2_5.
>>>
>>> Please ignore this series, it'll clash.
>>>
>>> Recent pull has already introduced HW_COMPAT_2_5 and PC_COMPAT_2_5
>>> (240240d pc: Add pc-*-2.6 machine classes).
>>>
>>> I'll send patches introducing only CCW_COMPAT_2_5 and SPAPR_COMPAT_2_5
>>
>> Can you send these now?
> 
> I've already added the CCW_COMPAT_2_5 patch to my queue.
> 

Ok, so I can send Shmulik's patch doing

@@ -2,14 +2,7 @@
 #define HW_COMPAT_H

 #define HW_COMPAT_2_5 \
-    /* empty */
-
-#define HW_COMPAT_2_4 \
     {\
-        .driver   = "virtio-blk-device",\
-        .property = "scsi",\
-        .value    = "true",\
-    },{\
         .driver   = "pvscsi",\
         .property = "x-old-pci-configuration",\
         .value    = "on",\
@@ -17,6 +10,13 @@
         .driver   = "pvscsi",\
         .property = "x-disable-pcie",\
         .value    = "on",\
+    },
+
+#define HW_COMPAT_2_4 \
+    {\
+        .driver   = "virtio-blk-device",\
+        .property = "scsi",\
+        .value    = "true",\
     },{\
         .driver   = "e1000",\
         .property = "extra_mac_registers",\


in my next pull request.

Paolo
Shmulik Ladkani Jan. 7, 2016, 7:10 p.m. UTC | #8
On Thu, 7 Jan 2016 17:46:11 +0100 Paolo Bonzini <pbonzini@redhat.com> wrote:
> Ok, so I can send Shmulik's patch doing
> 
> @@ -2,14 +2,7 @@
>  #define HW_COMPAT_H
> 
>  #define HW_COMPAT_2_5 \
> -    /* empty */
> -
> -#define HW_COMPAT_2_4 \
>      {\
> -        .driver   = "virtio-blk-device",\
> -        .property = "scsi",\
> -        .value    = "true",\
> -    },{\
>          .driver   = "pvscsi",\
>          .property = "x-old-pci-configuration",\
>          .value    = "on",\
> @@ -17,6 +10,13 @@
>          .driver   = "pvscsi",\
>          .property = "x-disable-pcie",\
>          .value    = "on",\
> +    },
> +
> +#define HW_COMPAT_2_4 \
> +    {\
> +        .driver   = "virtio-blk-device",\
> +        .property = "scsi",\
> +        .value    = "true",\
>      },{\
>          .driver   = "e1000",\
>          .property = "extra_mac_registers",\
> 
> 
> in my next pull request.

Yes; All my platform specific COMPAT introductions where either
collected by the platform maintainers, or preemptively introduced by
someone else.

Thanks,
Shmulik
diff mbox

Patch

diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 319497e..f34b0fd 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -475,6 +475,7 @@  static void pc_i440fx_2_5_machine_options(MachineClass *m)
     pc_i440fx_machine_options(m);
     m->alias = "pc";
     m->is_default = 1;
+    SET_MACHINE_COMPAT(m, PC_COMPAT_2_5);
 }
 
 DEFINE_I440FX_MACHINE(v2_5, "pc-i440fx-2.5", NULL,
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index 9a12068..b3585e0 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -374,6 +374,7 @@  static void pc_q35_2_5_machine_options(MachineClass *m)
 {
     pc_q35_machine_options(m);
     m->alias = "q35";
+    SET_MACHINE_COMPAT(m, PC_COMPAT_2_5);
 }
 
 DEFINE_Q35_MACHINE(v2_5, "pc-q35-2.5", NULL,
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index 6bfb908..6a0bfd7 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -2298,7 +2298,11 @@  static const TypeInfo spapr_machine_info = {
     },
 };
 
+#define SPAPR_COMPAT_2_5 \
+        HW_COMPAT_2_5
+
 #define SPAPR_COMPAT_2_4 \
+        SPAPR_COMPAT_2_5 \
         HW_COMPAT_2_4
 
 #define SPAPR_COMPAT_2_3 \
@@ -2434,6 +2438,10 @@  static const TypeInfo spapr_machine_2_4_info = {
 
 static void spapr_machine_2_5_class_init(ObjectClass *oc, void *data)
 {
+    static GlobalProperty compat_props[] = {
+        SPAPR_COMPAT_2_5
+        { /* end of list */ }
+    };
     MachineClass *mc = MACHINE_CLASS(oc);
     sPAPRMachineClass *smc = SPAPR_MACHINE_CLASS(oc);
 
@@ -2442,6 +2450,7 @@  static void spapr_machine_2_5_class_init(ObjectClass *oc, void *data)
     mc->alias = "pseries";
     mc->is_default = 1;
     smc->dr_lmb_enabled = true;
+    mc->compat_props = compat_props;
 }
 
 static const TypeInfo spapr_machine_2_5_info = {
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index 5a52ff2..3d79654 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -235,7 +235,11 @@  static const TypeInfo ccw_machine_info = {
     },
 };
 
+#define CCW_COMPAT_2_5 \
+        HW_COMPAT_2_5
+
 #define CCW_COMPAT_2_4 \
+        CCW_COMPAT_2_5 \
         HW_COMPAT_2_4 \
         {\
             .driver   = TYPE_S390_SKEYS,\
@@ -296,10 +300,15 @@  static const TypeInfo ccw_machine_2_4_info = {
 static void ccw_machine_2_5_class_init(ObjectClass *oc, void *data)
 {
     MachineClass *mc = MACHINE_CLASS(oc);
+    static GlobalProperty compat_props[] = {
+        CCW_COMPAT_2_5
+        { /* end of list */ }
+    };
 
     mc->alias = "s390-ccw-virtio";
     mc->desc = "VirtIO-ccw based S390 machine v2.5";
     mc->is_default = 1;
+    mc->compat_props = compat_props;
 }
 
 static const TypeInfo ccw_machine_2_5_info = {
diff --git a/include/hw/compat.h b/include/hw/compat.h
index bcb36ef..3aa35c9 100644
--- a/include/hw/compat.h
+++ b/include/hw/compat.h
@@ -1,6 +1,9 @@ 
 #ifndef HW_COMPAT_H
 #define HW_COMPAT_H
 
+#define HW_COMPAT_2_5 \
+        /* empty */
+
 #define HW_COMPAT_2_4 \
         {\
             .driver   = "virtio-blk-device",\
diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index 4bf4faf..3b445e4 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -309,7 +309,11 @@  int e820_add_entry(uint64_t, uint64_t, uint32_t);
 int e820_get_num_entries(void);
 bool e820_get_entry(int, uint32_t, uint64_t *, uint64_t *);
 
+#define PC_COMPAT_2_5 \
+        HW_COMPAT_2_5
+
 #define PC_COMPAT_2_4 \
+        PC_COMPAT_2_5 \
         HW_COMPAT_2_4 \
         {\
             .driver   = "Haswell-" TYPE_X86_CPU,\