diff mbox series

[v4,10/19] boards.h: Ignore migration for SMBus devices on older machines

Message ID 20190128175458.27255-11-minyard@acm.org (mailing list archive)
State New, archived
Headers show
Series Fix/add vmstate handling in some I2C code | expand

Commit Message

Corey Minyard Jan. 28, 2019, 5:54 p.m. UTC
From: Corey Minyard <cminyard@mvista.com>

Migration capability is being added for pm_smbus and SMBus devices.
This change will allow backwards compatibility to be kept when
migrating back to an old qemu version.  Add a bool to the machine
class tho keep smbus migration from happening.  Future changes
will use this.

Signed-off-by: Corey Minyard <cminyard@mvista.com>
Cc: Eduardo Habkost <ehabkost@redhat.com>
Cc: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
---
 hw/i386/pc_piix.c   | 1 +
 hw/i386/pc_q35.c    | 1 +
 include/hw/boards.h | 1 +
 3 files changed, 3 insertions(+)

Comments

Eduardo Habkost Jan. 28, 2019, 6:08 p.m. UTC | #1
On Mon, Jan 28, 2019 at 11:54:49AM -0600, minyard@acm.org wrote:
> From: Corey Minyard <cminyard@mvista.com>
> 
> Migration capability is being added for pm_smbus and SMBus devices.
> This change will allow backwards compatibility to be kept when
> migrating back to an old qemu version.  Add a bool to the machine
> class tho keep smbus migration from happening.  Future changes
> will use this.
> 
> Signed-off-by: Corey Minyard <cminyard@mvista.com>
> Cc: Eduardo Habkost <ehabkost@redhat.com>
> Cc: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> ---
>  hw/i386/pc_piix.c   | 1 +
>  hw/i386/pc_q35.c    | 1 +
>  include/hw/boards.h | 1 +
>  3 files changed, 3 insertions(+)
> 
> diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
> index 6ba163ccbb..a8331b82f2 100644
> --- a/hw/i386/pc_piix.c
> +++ b/hw/i386/pc_piix.c
> @@ -431,6 +431,7 @@ static void pc_i440fx_machine_options(MachineClass *m)
>  static void pc_i440fx_4_0_machine_options(MachineClass *m)
>  {
>      pc_i440fx_machine_options(m);
> +    m->smbus_no_migration_support = true;
>      m->alias = "pc";
>      m->is_default = 1;
>  }
> diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
> index 1689885cac..bafc73b2d9 100644
> --- a/hw/i386/pc_q35.c
> +++ b/hw/i386/pc_q35.c
> @@ -368,6 +368,7 @@ static void pc_q35_machine_options(MachineClass *m)
>  static void pc_q35_4_0_machine_options(MachineClass *m)
>  {
>      pc_q35_machine_options(m);
> +    m->smbus_no_migration_support = true;
>      m->alias = "q35";
>  }
>  

Wasn't this supposed to be added to pc_*_3_1_machine_options(),
so the flag is set to false on pc-*-4.0?
Corey Minyard Jan. 28, 2019, 6:22 p.m. UTC | #2
On Mon, Jan 28, 2019 at 04:08:59PM -0200, Eduardo Habkost wrote:
> On Mon, Jan 28, 2019 at 11:54:49AM -0600, minyard@acm.org wrote:
> > From: Corey Minyard <cminyard@mvista.com>
> > 
> > Migration capability is being added for pm_smbus and SMBus devices.
> > This change will allow backwards compatibility to be kept when
> > migrating back to an old qemu version.  Add a bool to the machine
> > class tho keep smbus migration from happening.  Future changes
> > will use this.
> > 
> > Signed-off-by: Corey Minyard <cminyard@mvista.com>
> > Cc: Eduardo Habkost <ehabkost@redhat.com>
> > Cc: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
> > Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> > ---
> >  hw/i386/pc_piix.c   | 1 +
> >  hw/i386/pc_q35.c    | 1 +
> >  include/hw/boards.h | 1 +
> >  3 files changed, 3 insertions(+)
> > 
> > diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
> > index 6ba163ccbb..a8331b82f2 100644
> > --- a/hw/i386/pc_piix.c
> > +++ b/hw/i386/pc_piix.c
> > @@ -431,6 +431,7 @@ static void pc_i440fx_machine_options(MachineClass *m)
> >  static void pc_i440fx_4_0_machine_options(MachineClass *m)
> >  {
> >      pc_i440fx_machine_options(m);
> > +    m->smbus_no_migration_support = true;
> >      m->alias = "pc";
> >      m->is_default = 1;
> >  }
> > diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
> > index 1689885cac..bafc73b2d9 100644
> > --- a/hw/i386/pc_q35.c
> > +++ b/hw/i386/pc_q35.c
> > @@ -368,6 +368,7 @@ static void pc_q35_machine_options(MachineClass *m)
> >  static void pc_q35_4_0_machine_options(MachineClass *m)
> >  {
> >      pc_q35_machine_options(m);
> > +    m->smbus_no_migration_support = true;
> >      m->alias = "q35";
> >  }
> >  
> 
> Wasn't this supposed to be added to pc_*_3_1_machine_options(),
> so the flag is set to false on pc-*-4.0?

Yes, I stuck it in the wrong place.  I'll fix it.

-corey

> 
> -- 
> Eduardo
diff mbox series

Patch

diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 6ba163ccbb..a8331b82f2 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -431,6 +431,7 @@  static void pc_i440fx_machine_options(MachineClass *m)
 static void pc_i440fx_4_0_machine_options(MachineClass *m)
 {
     pc_i440fx_machine_options(m);
+    m->smbus_no_migration_support = true;
     m->alias = "pc";
     m->is_default = 1;
 }
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index 1689885cac..bafc73b2d9 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -368,6 +368,7 @@  static void pc_q35_machine_options(MachineClass *m)
 static void pc_q35_4_0_machine_options(MachineClass *m)
 {
     pc_q35_machine_options(m);
+    m->smbus_no_migration_support = true;
     m->alias = "q35";
 }
 
diff --git a/include/hw/boards.h b/include/hw/boards.h
index 02f114085f..e7f7b85008 100644
--- a/include/hw/boards.h
+++ b/include/hw/boards.h
@@ -207,6 +207,7 @@  struct MachineClass {
     void (*numa_auto_assign_ram)(MachineClass *mc, NodeInfo *nodes,
                                  int nb_nodes, ram_addr_t size);
     bool ignore_boot_device_suffixes;
+    bool smbus_no_migration_support;
 
     HotplugHandler *(*get_hotplug_handler)(MachineState *machine,
                                            DeviceState *dev);