diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2017-09-27 22:44:51 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2017-09-27 22:44:51 +0100 |
commit | ab161529261928ae7f3556e3220829c34b2686ec (patch) | |
tree | a19806665ba984fec11c0d1175cc39d0d3a4edd8 /target | |
parent | 1d8934408135ac03b1c753c3b0a819cf7f387d60 (diff) | |
parent | 2f168d0708581c33baf6c78d75a89e8cd705f9f6 (diff) | |
download | qemu-ab161529261928ae7f3556e3220829c34b2686ec.zip qemu-ab161529261928ae7f3556e3220829c34b2686ec.tar.gz qemu-ab161529261928ae7f3556e3220829c34b2686ec.tar.bz2 |
Merge remote-tracking branch 'remotes/dgilbert/tags/pull-migration-20170927a' into staging
Migration pull 2017-09-27
# gpg: Signature made Wed 27 Sep 2017 14:56:23 BST
# gpg: using RSA key 0x0516331EBC5BFDE7
# gpg: Good signature from "Dr. David Alan Gilbert (RH2) <dgilbert@redhat.com>"
# gpg: WARNING: This key is not certified with sufficiently trusted signatures!
# gpg: It is not certain that the signature belongs to the owner.
# Primary key fingerprint: 45F5 C71B 4A0C B7FB 977A 9FA9 0516 331E BC5B FDE7
* remotes/dgilbert/tags/pull-migration-20170927a:
migration: Route more error paths
migration: Route errors up through vmstate_save
migration: wire vmstate_save_state errors up to vmstate_subsection_save
migration: Check field save returns
migration: check pre_save return in vmstate_save_state
migration: pre_save return int
migration: disable auto-converge during bulk block migration
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'target')
-rw-r--r-- | target/arm/machine.c | 4 | ||||
-rw-r--r-- | target/i386/machine.c | 7 | ||||
-rw-r--r-- | target/ppc/machine.c | 4 | ||||
-rw-r--r-- | target/s390x/machine.c | 4 | ||||
-rw-r--r-- | target/sparc/machine.c | 4 |
5 files changed, 17 insertions, 6 deletions
diff --git a/target/arm/machine.c b/target/arm/machine.c index e5fe083..29df7ac 100644 --- a/target/arm/machine.c +++ b/target/arm/machine.c @@ -394,7 +394,7 @@ static const VMStateInfo vmstate_powered_off = { .put = put_power, }; -static void cpu_pre_save(void *opaque) +static int cpu_pre_save(void *opaque) { ARMCPU *cpu = opaque; @@ -415,6 +415,8 @@ static void cpu_pre_save(void *opaque) cpu->cpreg_array_len * sizeof(uint64_t)); memcpy(cpu->cpreg_vmstate_values, cpu->cpreg_values, cpu->cpreg_array_len * sizeof(uint64_t)); + + return 0; } static int cpu_post_load(void *opaque, int version_id) diff --git a/target/i386/machine.c b/target/i386/machine.c index 29cc58e..df5ec35 100644 --- a/target/i386/machine.c +++ b/target/i386/machine.c @@ -160,13 +160,15 @@ static floatx80 cpu_set_fp80(uint64_t mant, uint16_t upper) return temp.d; } -static void fpreg_pre_save(void *opaque) +static int fpreg_pre_save(void *opaque) { x86_FPReg_tmp *tmp = opaque; /* we save the real CPU data (in case of MMX usage only 'mant' contains the MMX register */ cpu_get_fp80(&tmp->tmp_mant, &tmp->tmp_exp, tmp->parent->d); + + return 0; } static int fpreg_post_load(void *opaque, int version) @@ -196,7 +198,7 @@ static const VMStateDescription vmstate_fpreg = { } }; -static void cpu_pre_save(void *opaque) +static int cpu_pre_save(void *opaque) { X86CPU *cpu = opaque; CPUX86State *env = &cpu->env; @@ -228,6 +230,7 @@ static void cpu_pre_save(void *opaque) env->segs[R_SS].flags &= ~(env->segs[R_SS].flags & DESC_DPL_MASK); } + return 0; } static int cpu_post_load(void *opaque, int version_id) diff --git a/target/ppc/machine.c b/target/ppc/machine.c index e36b710..384caee 100644 --- a/target/ppc/machine.c +++ b/target/ppc/machine.c @@ -146,7 +146,7 @@ static bool cpu_pre_2_8_migration(void *opaque, int version_id) return cpu->pre_2_8_migration; } -static void cpu_pre_save(void *opaque) +static int cpu_pre_save(void *opaque) { PowerPCCPU *cpu = opaque; CPUPPCState *env = &cpu->env; @@ -195,6 +195,8 @@ static void cpu_pre_save(void *opaque) cpu->mig_insns_flags2 = env->insns_flags2 & insns_compat_mask2; cpu->mig_nb_BATs = env->nb_BATs; } + + return 0; } /* diff --git a/target/s390x/machine.c b/target/s390x/machine.c index 097a147..e1b7015 100644 --- a/target/s390x/machine.c +++ b/target/s390x/machine.c @@ -37,13 +37,15 @@ static int cpu_post_load(void *opaque, int version_id) return 0; } -static void cpu_pre_save(void *opaque) +static int cpu_pre_save(void *opaque) { S390CPU *cpu = opaque; if (kvm_enabled()) { kvm_s390_vcpu_interrupt_pre_save(cpu); } + + return 0; } static inline bool fpu_needed(void *opaque) diff --git a/target/sparc/machine.c b/target/sparc/machine.c index 6bd6b8e..8ff9dea 100644 --- a/target/sparc/machine.c +++ b/target/sparc/machine.c @@ -88,7 +88,7 @@ static const VMStateInfo vmstate_psr = { .put = put_psr, }; -static void cpu_pre_save(void *opaque) +static int cpu_pre_save(void *opaque) { SPARCCPU *cpu = opaque; CPUSPARCState *env = &cpu->env; @@ -97,6 +97,8 @@ static void cpu_pre_save(void *opaque) * window as the outs of the first window */ cpu_set_cwp(env, env->cwp); + + return 0; } /* 32-bit SPARC retains migration compatibility with older versions |