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 /hw/intc | |
parent | 1d8934408135ac03b1c753c3b0a819cf7f387d60 (diff) | |
parent | 2f168d0708581c33baf6c78d75a89e8cd705f9f6 (diff) |
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 'hw/intc')
-rw-r--r-- | hw/intc/apic_common.c | 4 | ||||
-rw-r--r-- | hw/intc/arm_gic_common.c | 4 | ||||
-rw-r--r-- | hw/intc/arm_gicv3_common.c | 4 | ||||
-rw-r--r-- | hw/intc/arm_gicv3_its_common.c | 4 | ||||
-rw-r--r-- | hw/intc/i8259_common.c | 4 | ||||
-rw-r--r-- | hw/intc/ioapic_common.c | 4 | ||||
-rw-r--r-- | hw/intc/s390_flic_kvm.c | 6 | ||||
-rw-r--r-- | hw/intc/xics.c | 8 |
8 files changed, 28 insertions, 10 deletions
diff --git a/hw/intc/apic_common.c b/hw/intc/apic_common.c index e1ac33042f..78903ea909 100644 --- a/hw/intc/apic_common.c +++ b/hw/intc/apic_common.c @@ -360,7 +360,7 @@ static int apic_pre_load(void *opaque) return 0; } -static void apic_dispatch_pre_save(void *opaque) +static int apic_dispatch_pre_save(void *opaque) { APICCommonState *s = APIC_COMMON(opaque); APICCommonClass *info = APIC_COMMON_GET_CLASS(s); @@ -368,6 +368,8 @@ static void apic_dispatch_pre_save(void *opaque) if (info->pre_save) { info->pre_save(s); } + + return 0; } static int apic_dispatch_post_load(void *opaque, int version_id) diff --git a/hw/intc/arm_gic_common.c b/hw/intc/arm_gic_common.c index 70f1134823..aee50a20e0 100644 --- a/hw/intc/arm_gic_common.c +++ b/hw/intc/arm_gic_common.c @@ -23,7 +23,7 @@ #include "gic_internal.h" #include "hw/arm/linux-boot-if.h" -static void gic_pre_save(void *opaque) +static int gic_pre_save(void *opaque) { GICState *s = (GICState *)opaque; ARMGICCommonClass *c = ARM_GIC_COMMON_GET_CLASS(s); @@ -31,6 +31,8 @@ static void gic_pre_save(void *opaque) if (c->pre_save) { c->pre_save(s); } + + return 0; } static int gic_post_load(void *opaque, int version_id) diff --git a/hw/intc/arm_gicv3_common.c b/hw/intc/arm_gicv3_common.c index 410915a2ac..7b54d52376 100644 --- a/hw/intc/arm_gicv3_common.c +++ b/hw/intc/arm_gicv3_common.c @@ -28,7 +28,7 @@ #include "gicv3_internal.h" #include "hw/arm/linux-boot-if.h" -static void gicv3_pre_save(void *opaque) +static int gicv3_pre_save(void *opaque) { GICv3State *s = (GICv3State *)opaque; ARMGICv3CommonClass *c = ARM_GICV3_COMMON_GET_CLASS(s); @@ -36,6 +36,8 @@ static void gicv3_pre_save(void *opaque) if (c->pre_save) { c->pre_save(s); } + + return 0; } static int gicv3_post_load(void *opaque, int version_id) diff --git a/hw/intc/arm_gicv3_its_common.c b/hw/intc/arm_gicv3_its_common.c index 68b20fccd1..f2cce597a9 100644 --- a/hw/intc/arm_gicv3_its_common.c +++ b/hw/intc/arm_gicv3_its_common.c @@ -23,7 +23,7 @@ #include "hw/intc/arm_gicv3_its_common.h" #include "qemu/log.h" -static void gicv3_its_pre_save(void *opaque) +static int gicv3_its_pre_save(void *opaque) { GICv3ITSState *s = (GICv3ITSState *)opaque; GICv3ITSCommonClass *c = ARM_GICV3_ITS_COMMON_GET_CLASS(s); @@ -31,6 +31,8 @@ static void gicv3_its_pre_save(void *opaque) if (c->pre_save) { c->pre_save(s); } + + return 0; } static int gicv3_its_post_load(void *opaque, int version_id) diff --git a/hw/intc/i8259_common.c b/hw/intc/i8259_common.c index c2fd563b5b..18427b459a 100644 --- a/hw/intc/i8259_common.c +++ b/hw/intc/i8259_common.c @@ -46,7 +46,7 @@ void pic_reset_common(PICCommonState *s) /* Note: ELCR is not reset */ } -static void pic_dispatch_pre_save(void *opaque) +static int pic_dispatch_pre_save(void *opaque) { PICCommonState *s = opaque; PICCommonClass *info = PIC_COMMON_GET_CLASS(s); @@ -54,6 +54,8 @@ static void pic_dispatch_pre_save(void *opaque) if (info->pre_save) { info->pre_save(s); } + + return 0; } static int pic_dispatch_post_load(void *opaque, int version_id) diff --git a/hw/intc/ioapic_common.c b/hw/intc/ioapic_common.c index 97c4f9c2df..3b3d0a7680 100644 --- a/hw/intc/ioapic_common.c +++ b/hw/intc/ioapic_common.c @@ -102,7 +102,7 @@ void ioapic_reset_common(DeviceState *dev) } } -static void ioapic_dispatch_pre_save(void *opaque) +static int ioapic_dispatch_pre_save(void *opaque) { IOAPICCommonState *s = IOAPIC_COMMON(opaque); IOAPICCommonClass *info = IOAPIC_COMMON_GET_CLASS(s); @@ -110,6 +110,8 @@ static void ioapic_dispatch_pre_save(void *opaque) if (info->pre_save) { info->pre_save(s); } + + return 0; } static int ioapic_dispatch_post_load(void *opaque, int version_id) diff --git a/hw/intc/s390_flic_kvm.c b/hw/intc/s390_flic_kvm.c index 7ead17ac3e..d208cb81c4 100644 --- a/hw/intc/s390_flic_kvm.c +++ b/hw/intc/s390_flic_kvm.c @@ -420,7 +420,7 @@ typedef struct KVMS390FLICStateMigTmp { uint8_t nimm; } KVMS390FLICStateMigTmp; -static void kvm_flic_ais_pre_save(void *opaque) +static int kvm_flic_ais_pre_save(void *opaque) { KVMS390FLICStateMigTmp *tmp = opaque; KVMS390FLICState *flic = tmp->parent; @@ -433,11 +433,13 @@ static void kvm_flic_ais_pre_save(void *opaque) if (ioctl(flic->fd, KVM_GET_DEVICE_ATTR, &attr)) { error_report("Failed to retrieve kvm flic ais states"); - return; + return -EINVAL; } tmp->simm = ais.simm; tmp->nimm = ais.nimm; + + return 0; } static int kvm_flic_ais_post_load(void *opaque, int version_id) diff --git a/hw/intc/xics.c b/hw/intc/xics.c index 80c33be02e..cc9816e7f2 100644 --- a/hw/intc/xics.c +++ b/hw/intc/xics.c @@ -241,7 +241,7 @@ static void icp_irq(ICSState *ics, int server, int nr, uint8_t priority) } } -static void icp_dispatch_pre_save(void *opaque) +static int icp_dispatch_pre_save(void *opaque) { ICPState *icp = opaque; ICPStateClass *info = ICP_GET_CLASS(icp); @@ -249,6 +249,8 @@ static void icp_dispatch_pre_save(void *opaque) if (info->pre_save) { info->pre_save(icp); } + + return 0; } static int icp_dispatch_post_load(void *opaque, int version_id) @@ -533,7 +535,7 @@ static void ics_simple_reset(void *dev) } } -static void ics_simple_dispatch_pre_save(void *opaque) +static int ics_simple_dispatch_pre_save(void *opaque) { ICSState *ics = opaque; ICSStateClass *info = ICS_BASE_GET_CLASS(ics); @@ -541,6 +543,8 @@ static void ics_simple_dispatch_pre_save(void *opaque) if (info->pre_save) { info->pre_save(ics); } + + return 0; } static int ics_simple_dispatch_post_load(void *opaque, int version_id) |