qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [RFC PATCH v2 5/5] spapr: Enable the use of stable_cpu_id f


From: Bharata B Rao
Subject: [Qemu-devel] [RFC PATCH v2 5/5] spapr: Enable the use of stable_cpu_id from pseries-2.7 onwards
Date: Thu, 7 Jul 2016 20:20:25 +0530

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 <address@hidden>
---
 hw/ppc/spapr.c      | 14 ++++++++++++++
 include/hw/compat.h |  3 +++
 2 files changed, 17 insertions(+)

diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index 89e61b9..4ca6072 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -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)
diff --git a/include/hw/compat.h b/include/hw/compat.h
index 636befe..8e639e2 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_7 \
+    /* empty */
+
 #define HW_COMPAT_2_6 \
     /* empty */
 
-- 
2.7.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]