Commit ab161529 authored by Peter Maydell's avatar Peter Maydell
Browse files

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: default avatarPeter Maydell <peter.maydell@linaro.org>
parents 1d893440 2f168d07
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -202,7 +202,7 @@ The functions to do that are inside a vmstate definition, and are called:

  This function is called after we load the state of one device.

- void (*pre_save)(void *opaque);
- int (*pre_save)(void *opaque);

  This function is called before we save the state of one device.

+3 −1
Original line number Diff line number Diff line
@@ -1143,13 +1143,15 @@ static void pxa2xx_rtc_init(Object *obj)
    sysbus_init_mmio(dev, &s->iomem);
}

static void pxa2xx_rtc_pre_save(void *opaque)
static int pxa2xx_rtc_pre_save(void *opaque)
{
    PXA2xxRTCState *s = (PXA2xxRTCState *) opaque;

    pxa2xx_rtc_hzupdate(s);
    pxa2xx_rtc_piupdate(s);
    pxa2xx_rtc_swupdate(s);

    return 0;
}

static int pxa2xx_rtc_post_load(void *opaque, int version_id)
+3 −1
Original line number Diff line number Diff line
@@ -406,11 +406,13 @@ static void strongarm_rtc_init(Object *obj)
    sysbus_init_mmio(dev, &s->iomem);
}

static void strongarm_rtc_pre_save(void *opaque)
static int strongarm_rtc_pre_save(void *opaque)
{
    StrongARMRTCState *s = opaque;

    strongarm_rtc_hzupdate(s);

    return 0;
}

static int strongarm_rtc_post_load(void *opaque, int version_id)
+3 −1
Original line number Diff line number Diff line
@@ -567,11 +567,13 @@ static int wm8750_rx(I2CSlave *i2c)
    return 0x00;
}

static void wm8750_pre_save(void *opaque)
static int wm8750_pre_save(void *opaque)
{
    WM8750State *s = opaque;

    s->rate_vmstate = s->rate - wm_rate_table;

    return 0;
}

static int wm8750_post_load(void *opaque, int version_id)
+3 −1
Original line number Diff line number Diff line
@@ -1101,11 +1101,13 @@ static int reconstruct_phase(FDCtrl *fdctrl)
    }
}

static void fdc_pre_save(void *opaque)
static int fdc_pre_save(void *opaque)
{
    FDCtrl *s = opaque;

    s->dor_vmstate = s->dor | GET_CUR_DRV(s);

    return 0;
}

static int fdc_pre_load(void *opaque)
Loading