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/ppc | |
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/ppc')
-rw-r--r-- | hw/ppc/ppc.c | 4 | ||||
-rw-r--r-- | hw/ppc/spapr_iommu.c | 4 | ||||
-rw-r--r-- | hw/ppc/spapr_pci.c | 6 |
3 files changed, 10 insertions, 4 deletions
diff --git a/hw/ppc/ppc.c b/hw/ppc/ppc.c index f76886f4d3..05da316e0b 100644 --- a/hw/ppc/ppc.c +++ b/hw/ppc/ppc.c @@ -937,11 +937,13 @@ void cpu_ppc_clock_vm_state_change(void *opaque, int running, * final pages of memory (which happens between vm_stop() * and pre_save()) takes max_downtime. */ -static void timebase_pre_save(void *opaque) +static int timebase_pre_save(void *opaque) { PPCTimebase *tb = opaque; timebase_save(tb); + + return 0; } const VMStateDescription vmstate_ppc_timebase = { diff --git a/hw/ppc/spapr_iommu.c b/hw/ppc/spapr_iommu.c index fa8b969840..5ccd785d5a 100644 --- a/hw/ppc/spapr_iommu.c +++ b/hw/ppc/spapr_iommu.c @@ -140,7 +140,7 @@ static IOMMUTLBEntry spapr_tce_translate_iommu(IOMMUMemoryRegion *iommu, return ret; } -static void spapr_tce_table_pre_save(void *opaque) +static int spapr_tce_table_pre_save(void *opaque) { sPAPRTCETable *tcet = SPAPR_TCE_TABLE(opaque); @@ -149,6 +149,8 @@ static void spapr_tce_table_pre_save(void *opaque) trace_spapr_iommu_pre_save(tcet->liobn, tcet->mig_nb_table, tcet->bus_offset, tcet->page_shift); + + return 0; } static uint64_t spapr_tce_get_min_page_size(IOMMUMemoryRegion *iommu) diff --git a/hw/ppc/spapr_pci.c b/hw/ppc/spapr_pci.c index 6126c80044..5049ced4e8 100644 --- a/hw/ppc/spapr_pci.c +++ b/hw/ppc/spapr_pci.c @@ -1798,7 +1798,7 @@ static const VMStateDescription vmstate_spapr_pci_msi = { }, }; -static void spapr_pci_pre_save(void *opaque) +static int spapr_pci_pre_save(void *opaque) { sPAPRPHBState *sphb = opaque; GHashTableIter iter; @@ -1823,7 +1823,7 @@ static void spapr_pci_pre_save(void *opaque) sphb->msi_devs = NULL; sphb->msi_devs_num = g_hash_table_size(sphb->msi); if (!sphb->msi_devs_num) { - return; + return 0; } sphb->msi_devs = g_malloc(sphb->msi_devs_num * sizeof(spapr_pci_msi_mig)); @@ -1832,6 +1832,8 @@ static void spapr_pci_pre_save(void *opaque) sphb->msi_devs[i].key = *(uint32_t *) key; sphb->msi_devs[i].value = *(spapr_pci_msi *) value; } + + return 0; } static int spapr_pci_post_load(void *opaque, int version_id) |