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/timer | |
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 'hw/timer')
-rw-r--r-- | hw/timer/cadence_ttc.c | 4 | ||||
-rw-r--r-- | hw/timer/hpet.c | 4 | ||||
-rw-r--r-- | hw/timer/i8254_common.c | 4 | ||||
-rw-r--r-- | hw/timer/mc146818rtc.c | 4 | ||||
-rw-r--r-- | hw/timer/pl031.c | 4 | ||||
-rw-r--r-- | hw/timer/twl92230.c | 4 |
6 files changed, 18 insertions, 6 deletions
diff --git a/hw/timer/cadence_ttc.c b/hw/timer/cadence_ttc.c index 03f5b9c..5e65fdb 100644 --- a/hw/timer/cadence_ttc.c +++ b/hw/timer/cadence_ttc.c @@ -421,9 +421,11 @@ static void cadence_ttc_init(Object *obj) sysbus_init_mmio(SYS_BUS_DEVICE(obj), &s->iomem); } -static void cadence_timer_pre_save(void *opaque) +static int cadence_timer_pre_save(void *opaque) { cadence_timer_sync((CadenceTimerState *)opaque); + + return 0; } static int cadence_timer_post_load(void *opaque, int version_id) diff --git a/hw/timer/hpet.c b/hw/timer/hpet.c index a2c18b3..577371b 100644 --- a/hw/timer/hpet.c +++ b/hw/timer/hpet.c @@ -216,12 +216,14 @@ static void update_irq(struct HPETTimer *timer, int set) } } -static void hpet_pre_save(void *opaque) +static int hpet_pre_save(void *opaque) { HPETState *s = opaque; /* save current counter value */ s->hpet_counter = hpet_get_ticks(s); + + return 0; } static int hpet_pre_load(void *opaque) diff --git a/hw/timer/i8254_common.c b/hw/timer/i8254_common.c index ee064aa..b623c96 100644 --- a/hw/timer/i8254_common.c +++ b/hw/timer/i8254_common.c @@ -237,7 +237,7 @@ static int pit_load_old(QEMUFile *f, void *opaque, int version_id) return 0; } -static void pit_dispatch_pre_save(void *opaque) +static int pit_dispatch_pre_save(void *opaque) { PITCommonState *s = opaque; PITCommonClass *c = PIT_COMMON_GET_CLASS(s); @@ -245,6 +245,8 @@ static void pit_dispatch_pre_save(void *opaque) if (c->pre_save) { c->pre_save(s); } + + return 0; } static int pit_dispatch_post_load(void *opaque, int version_id) diff --git a/hw/timer/mc146818rtc.c b/hw/timer/mc146818rtc.c index 82843ed..7764be2 100644 --- a/hw/timer/mc146818rtc.c +++ b/hw/timer/mc146818rtc.c @@ -795,11 +795,13 @@ static void rtc_set_date_from_host(ISADevice *dev) rtc_set_cmos(s, &tm); } -static void rtc_pre_save(void *opaque) +static int rtc_pre_save(void *opaque) { RTCState *s = opaque; rtc_update_time(s); + + return 0; } static int rtc_post_load(void *opaque, int version_id) diff --git a/hw/timer/pl031.c b/hw/timer/pl031.c index dbbeb9b..d3aacce 100644 --- a/hw/timer/pl031.c +++ b/hw/timer/pl031.c @@ -211,7 +211,7 @@ static void pl031_init(Object *obj) s->timer = timer_new_ns(rtc_clock, pl031_interrupt, s); } -static void pl031_pre_save(void *opaque) +static int pl031_pre_save(void *opaque) { PL031State *s = opaque; @@ -219,6 +219,8 @@ static void pl031_pre_save(void *opaque) * store the base time relative to the QEMU_CLOCK_VIRTUAL for backwards-compatibility. */ int64_t delta = qemu_clock_get_ns(rtc_clock) - qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL); s->tick_offset_vmstate = s->tick_offset + delta / NANOSECONDS_PER_SECOND; + + return 0; } static int pl031_post_load(void *opaque, int version_id) diff --git a/hw/timer/twl92230.c b/hw/timer/twl92230.c index c0aa8ae..eb58c37 100644 --- a/hw/timer/twl92230.c +++ b/hw/timer/twl92230.c @@ -791,11 +791,13 @@ static const VMStateDescription vmstate_menelaus_tm = { } }; -static void menelaus_pre_save(void *opaque) +static int menelaus_pre_save(void *opaque) { MenelausState *s = opaque; /* Should be <= 1000 */ s->rtc_next_vmstate = s->rtc.next - qemu_clock_get_ms(rtc_clock); + + return 0; } static int menelaus_post_load(void *opaque, int version_id) |