On 11/26/18 11:23 AM, Dr. David Alan Gilbert wrote:
* [email protected] ([email protected]) wrote:
From: Corey Minyard <[email protected]>

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.
So this is also going to have to be in the 3.0 and 3.1 machine options
and maybe some other architectures?

I'm not sure why it would need to be in both the 3.0 and 3.1 machine options. If this goes in, I'm assuming it's for 3.1 and it should only need to be there.
That's if it's too late for 3.0.

The pm_smbus device is also used by mips fulong.  From what I can tell, that
machine doesn't have any concept of backwards compatibility, so it seemed
save to no worry about it there.  If it weren't for that, this bool could go into the
PC specific structure.

Thanks,

-corey

Dave

Signed-off-by: Corey Minyard <[email protected]>
Cc: Eduardo Habkost <[email protected]>
Cc: Marcel Apfelbaum <[email protected]>
---
  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 cb28227cc3..3d1ccb1af1 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -443,6 +443,7 @@ static void pc_i440fx_2_12_machine_options(MachineClass *m)
      pc_i440fx_3_0_machine_options(m);
      m->is_default = 0;
      m->alias = NULL;
+    m->smbus_no_migration_support = true;
      SET_MACHINE_COMPAT(m, PC_COMPAT_2_12);
  }
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index 90e88c9b28..0c6fca6a40 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -324,6 +324,7 @@ static void pc_q35_2_12_machine_options(MachineClass *m)
  {
      pc_q35_3_0_machine_options(m);
      m->alias = NULL;
+    m->smbus_no_migration_support = true;
      SET_MACHINE_COMPAT(m, PC_COMPAT_2_12);
  }
diff --git a/include/hw/boards.h b/include/hw/boards.h
index f82f28468b..65314fbe2a 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);
--
2.17.1

--
Dr. David Alan Gilbert / [email protected] / Manchester, UK



Reply via email to