diff options
author | Dr. David Alan Gilbert <dgilbert@redhat.com> | 2017-09-25 12:29:12 +0100 |
---|---|---|
committer | Dr. David Alan Gilbert <dgilbert@redhat.com> | 2017-09-27 11:35:59 +0100 |
commit | 44b1ff319c4781c7ab13f7e119b3114a1e6a52e2 (patch) | |
tree | b8e8aa9c74c890808876e7a5969b69ac25c1930a /hw/timer | |
parent | 9ac78b6171bec47083a9b6ce88dc1f114caea2f9 (diff) | |
download | qemu-44b1ff319c4781c7ab13f7e119b3114a1e6a52e2.zip qemu-44b1ff319c4781c7ab13f7e119b3114a1e6a52e2.tar.gz qemu-44b1ff319c4781c7ab13f7e119b3114a1e6a52e2.tar.bz2 |
migration: pre_save return int
Modify the pre_save method on VMStateDescription to return an int
rather than void so that it potentially can fail.
Changed zillions of devices to make them return 0; the only
case I've made it return non-0 is hw/intc/s390_flic_kvm.c that already
had an error_report/return case.
Note: If you add an error exit in your pre_save you must emit
an error_report to say why.
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <20170925112917.21340-2-dgilbert@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
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) |