Signed-off-by: Vladimir Sementsov-Ogievskiy <[email protected]>
---
 target/arm/machine.c | 107 ++++++++++++++++++++++---------------------
 1 file changed, 56 insertions(+), 51 deletions(-)

diff --git a/target/arm/machine.c b/target/arm/machine.c
index 89127e5d83c..159a1f0e930 100644
--- a/target/arm/machine.c
+++ b/target/arm/machine.c
@@ -51,8 +51,8 @@ static bool vfp_fpcr_fpsr_needed(void *opaque)
         (vfp_get_fpsr(env) & ~FPSCR_FPSR_MASK);
 }
 
-static int get_fpscr(QEMUFile *f, void *opaque, size_t size,
-                     const VMStateField *field)
+static bool load_fpscr(QEMUFile *f, void *opaque, size_t size,
+                     const VMStateField *field, Error **errp)
 {
     ARMCPU *cpu = opaque;
     CPUARMState *env = &cpu->env;
@@ -62,78 +62,81 @@ static int get_fpscr(QEMUFile *f, void *opaque, size_t size,
         /* 0 means we might have the data in the fpcr_fpsr subsection */
         vfp_set_fpscr(env, val);
     }
-    return 0;
+    return true;
 }
 
-static int put_fpscr(QEMUFile *f, void *opaque, size_t size,
-                     const VMStateField *field, JSONWriter *vmdesc)
+static bool save_fpscr(QEMUFile *f, void *opaque, size_t size,
+                      const VMStateField *field,
+                      JSONWriter *vmdesc, Error **errp)
 {
     ARMCPU *cpu = opaque;
     CPUARMState *env = &cpu->env;
     uint32_t fpscr = vfp_fpcr_fpsr_needed(opaque) ? 0 : vfp_get_fpscr(env);
 
     qemu_put_be32(f, fpscr);
-    return 0;
+    return true;
 }
 
 static const VMStateInfo vmstate_fpscr = {
     .name = "fpscr",
-    .get = get_fpscr,
-    .put = put_fpscr,
+    .load = load_fpscr,
+    .save = save_fpscr,
 };
 
-static int get_fpcr(QEMUFile *f, void *opaque, size_t size,
-                     const VMStateField *field)
+static bool load_fpcr(QEMUFile *f, void *opaque, size_t size,
+                     const VMStateField *field, Error **errp)
 {
     ARMCPU *cpu = opaque;
     CPUARMState *env = &cpu->env;
     uint64_t val = qemu_get_be64(f);
 
     vfp_set_fpcr(env, val);
-    return 0;
+    return true;
 }
 
-static int put_fpcr(QEMUFile *f, void *opaque, size_t size,
-                     const VMStateField *field, JSONWriter *vmdesc)
+static bool save_fpcr(QEMUFile *f, void *opaque, size_t size,
+                    const VMStateField *field,
+                    JSONWriter *vmdesc, Error **errp)
 {
     ARMCPU *cpu = opaque;
     CPUARMState *env = &cpu->env;
 
     qemu_put_be64(f, vfp_get_fpcr(env));
-    return 0;
+    return true;
 }
 
 static const VMStateInfo vmstate_fpcr = {
     .name = "fpcr",
-    .get = get_fpcr,
-    .put = put_fpcr,
+    .load = load_fpcr,
+    .save = save_fpcr,
 };
 
-static int get_fpsr(QEMUFile *f, void *opaque, size_t size,
-                     const VMStateField *field)
+static bool load_fpsr(QEMUFile *f, void *opaque, size_t size,
+                     const VMStateField *field, Error **errp)
 {
     ARMCPU *cpu = opaque;
     CPUARMState *env = &cpu->env;
     uint64_t val = qemu_get_be64(f);
 
     vfp_set_fpsr(env, val);
-    return 0;
+    return true;
 }
 
-static int put_fpsr(QEMUFile *f, void *opaque, size_t size,
-                     const VMStateField *field, JSONWriter *vmdesc)
+static bool save_fpsr(QEMUFile *f, void *opaque, size_t size,
+                    const VMStateField *field,
+                    JSONWriter *vmdesc, Error **errp)
 {
     ARMCPU *cpu = opaque;
     CPUARMState *env = &cpu->env;
 
     qemu_put_be64(f, vfp_get_fpsr(env));
-    return 0;
+    return true;
 }
 
 static const VMStateInfo vmstate_fpsr = {
     .name = "fpsr",
-    .get = get_fpsr,
-    .put = put_fpsr,
+    .load = load_fpsr,
+    .save = save_fpsr,
 };
 
 static const VMStateDescription vmstate_vfp_fpcr_fpsr = {
@@ -755,8 +758,8 @@ static const VMStateDescription vmstate_m_security = {
     }
 };
 
-static int get_cpsr(QEMUFile *f, void *opaque, size_t size,
-                    const VMStateField *field)
+static bool load_cpsr(QEMUFile *f, void *opaque, size_t size,
+                    const VMStateField *field, Error **errp)
 {
     ARMCPU *cpu = opaque;
     CPUARMState *env = &cpu->env;
@@ -797,22 +800,22 @@ static int get_cpsr(QEMUFile *f, void *opaque, size_t 
size,
         }
         /* Ignore the low bits, they are handled by vmstate_m. */
         xpsr_write(env, val, ~XPSR_EXCP);
-        return 0;
+        return true;
     }
 
     env->aarch64 = ((val & PSTATE_nRW) == 0);
 
     if (is_a64(env)) {
         pstate_write(env, val);
-        return 0;
+        return true;
     }
 
     cpsr_write(env, val, 0xffffffff, CPSRWriteRaw);
-    return 0;
+    return true;
 }
 
-static int put_cpsr(QEMUFile *f, void *opaque, size_t size,
-                    const VMStateField *field, JSONWriter *vmdesc)
+static bool save_cpsr(QEMUFile *f, void *opaque, size_t size,
+                    const VMStateField *field, JSONWriter *vmdesc, Error 
**errp)
 {
     ARMCPU *cpu = opaque;
     CPUARMState *env = &cpu->env;
@@ -828,17 +831,17 @@ static int put_cpsr(QEMUFile *f, void *opaque, size_t 
size,
     }
 
     qemu_put_be32(f, val);
-    return 0;
+    return true;
 }
 
 static const VMStateInfo vmstate_cpsr = {
     .name = "cpsr",
-    .get = get_cpsr,
-    .put = put_cpsr,
+    .load = load_cpsr,
+    .save = save_cpsr,
 };
 
-static int get_pstate64(QEMUFile *f, void *opaque, size_t size,
-                        const VMStateField *field)
+static bool load_pstate64(QEMUFile *f, void *opaque, size_t size,
+                        const VMStateField *field, Error **errp)
 {
     ARMCPU *cpu = opaque;
     CPUARMState *env = &cpu->env;
@@ -850,11 +853,12 @@ static int get_pstate64(QEMUFile *f, void *opaque, size_t 
size,
     } else {
         cpsr_write_from_spsr_elx(env, val);
     }
-    return 0;
+    return true;
 }
 
-static int put_pstate64(QEMUFile *f, void *opaque, size_t size,
-                        const VMStateField *field, JSONWriter *vmdesc)
+static bool save_pstate64(QEMUFile *f, void *opaque, size_t size,
+                         const VMStateField *field,
+                         JSONWriter *vmdesc, Error **errp)
 {
     ARMCPU *cpu = opaque;
     CPUARMState *env = &cpu->env;
@@ -866,7 +870,7 @@ static int put_pstate64(QEMUFile *f, void *opaque, size_t 
size,
         val = cpsr_read_for_spsr_elx(env);
     }
     qemu_put_be64(f, val);
-    return 0;
+    return true;
 }
 
 static bool pstate64_needed(void *opaque)
@@ -901,8 +905,8 @@ static const VMStateDescription vmstate_pstate64 = {
             .size = sizeof(uint64_t),
             .info = &(const VMStateInfo) {
                 .name = "pstate64",
-                .get = get_pstate64,
-                .put = put_pstate64,
+                .load = load_pstate64,
+                .save = save_pstate64,
             },
             .flags = VMS_SINGLE,
             .offset = 0,
@@ -911,17 +915,17 @@ static const VMStateDescription vmstate_pstate64 = {
     },
 };
 
-static int get_power(QEMUFile *f, void *opaque, size_t size,
-                    const VMStateField *field)
+static bool load_power(QEMUFile *f, void *opaque, size_t size,
+                    const VMStateField *field, Error **errp)
 {
     ARMCPU *cpu = opaque;
     bool powered_off = qemu_get_byte(f);
     arm_set_cpu_power_state(cpu, powered_off ? PSCI_OFF : PSCI_ON);
-    return 0;
+    return true;
 }
 
-static int put_power(QEMUFile *f, void *opaque, size_t size,
-                    const VMStateField *field, JSONWriter *vmdesc)
+static bool save_power(QEMUFile *f, void *opaque, size_t size,
+                    const VMStateField *field, JSONWriter *vmdesc, Error 
**errp)
 {
     ARMCPU *cpu = opaque;
 
@@ -931,16 +935,17 @@ static int put_power(QEMUFile *f, void *opaque, size_t 
size,
         cpu->power_state == PSCI_OFF) {
         bool powered_off = (cpu->power_state == PSCI_OFF) ? true : false;
         qemu_put_byte(f, powered_off);
-        return 0;
+        return true;
     } else {
-        return 1;
+        error_setg(errp, "Migration should not happen during power 
transition");
+        return false;
     }
 }
 
 static const VMStateInfo vmstate_powered_off = {
     .name = "powered_off",
-    .get = get_power,
-    .put = put_power,
+    .load = load_power,
+    .save = save_power,
 };
 
 static bool syndrome64_needed(void *opaque)
-- 
2.43.0


Reply via email to