@@ -2495,6 +2495,14 @@ static const TypeInfo spapr_machine_info = {
/*
* pseries-2.7
*/
+#define SPAPR_COMPAT_2_7 \
+ HW_COMPAT_2_7 \
+ { \
+ .driver = TYPE_CPU, \
+ .property = "has-stable-cpu-id", \
+ .value = "on", \
+ },
+
static void spapr_machine_2_7_instance_options(MachineState *machine)
{
}
@@ -2502,6 +2510,7 @@ static void spapr_machine_2_7_instance_options(MachineState *machine)
static void spapr_machine_2_7_class_options(MachineClass *mc)
{
/* Defaults for the latest behaviour inherited from the base class */
+ SET_MACHINE_COMPAT(mc, SPAPR_COMPAT_2_7);
}
DEFINE_SPAPR_MACHINE(2_7, "2.7", true);
@@ -2515,6 +2524,11 @@ DEFINE_SPAPR_MACHINE(2_7, "2.7", true);
.driver = TYPE_SPAPR_PCI_HOST_BRIDGE,\
.property = "ddw",\
.value = stringify(off),\
+ }, \
+ { \
+ .driver = TYPE_CPU, \
+ .property = "has-stable-cpu-id", \
+ .value = "off", \
},
static void spapr_machine_2_6_instance_options(MachineState *machine)
@@ -1,6 +1,9 @@
#ifndef HW_COMPAT_H
#define HW_COMPAT_H
+#define HW_COMPAT_2_7 \
+ /* empty */
+
#define HW_COMPAT_2_6 \
/* empty */
Starting from pseries-2.7, turn on has-stable-cpu-id property that switches to using stable_cpu_id over cpu_index for cpu vmstate registration and in XICS code. This allows migration to work when CPU cores are not necessarily unplugged in LIFO order. Signed-off-by: Bharata B Rao <bharata@linux.vnet.ibm.com> --- hw/ppc/spapr.c | 14 ++++++++++++++ include/hw/compat.h | 3 +++ 2 files changed, 17 insertions(+)