[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 08/12] hpet: fixing saving and loading proces
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH v2 08/12] hpet: fixing saving and loading process |
Date: |
Thu, 28 Aug 2014 13:58:18 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.0 |
Il 28/08/2014 13:19, Pavel Dovgalyuk ha scritto:
> VM clock does not run while saving, so there is no need for saving the ticks
> in HPET. Also added saving of hpet_offset field.
>
> Signed-off-by: Pavel Dovgalyuk <address@hidden>
> ---
> hw/timer/hpet.c | 15 ++-------------
> 1 files changed, 2 insertions(+), 13 deletions(-)
>
> diff --git a/hw/timer/hpet.c b/hw/timer/hpet.c
> index e160e8f..4cdda64 100644
> --- a/hw/timer/hpet.c
> +++ b/hw/timer/hpet.c
> @@ -222,14 +222,6 @@ static void update_irq(struct HPETTimer *timer, int set)
> }
> }
>
> -static void hpet_pre_save(void *opaque)
> -{
> - HPETState *s = opaque;
> -
> - /* save current counter value */
> - s->hpet_counter = hpet_get_ticks(s);
> -}
> -
> static int hpet_pre_load(void *opaque)
> {
> HPETState *s = opaque;
> @@ -255,9 +247,6 @@ static int hpet_post_load(void *opaque, int version_id)
> {
> HPETState *s = opaque;
>
> - /* Recalculate the offset between the main counter and guest time */
> - s->hpet_offset = ticks_to_ns(s->hpet_counter) -
> qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL);
> -
> /* Push number of timers into capability returned via HPET_ID */
> s->capability &= ~HPET_ID_NUM_TIM_MASK;
> s->capability |= (s->num_timers - 1) << HPET_ID_NUM_TIM_SHIFT;
> @@ -306,15 +295,15 @@ static const VMStateDescription vmstate_hpet_timer = {
>
> static const VMStateDescription vmstate_hpet = {
> .name = "hpet",
> - .version_id = 2,
> + .version_id = 3,
> .minimum_version_id = 1,
> - .pre_save = hpet_pre_save,
> .pre_load = hpet_pre_load,
> .post_load = hpet_post_load,
> .fields = (VMStateField[]) {
> VMSTATE_UINT64(config, HPETState),
> VMSTATE_UINT64(isr, HPETState),
> VMSTATE_UINT64(hpet_counter, HPETState),
> + VMSTATE_UINT64_V(hpet_offset, HPETState, 3),
> VMSTATE_UINT8_V(num_timers, HPETState, 2),
> VMSTATE_VALIDATE("num_timers in range", hpet_validate_num_timers),
> VMSTATE_STRUCT_VARRAY_UINT8(timer, HPETState, num_timers, 0,
>
This also breaks migration to 2.1, unless you use -no-hpet.
Paolo
- [Qemu-devel] [PATCH v2 01/12] integratorcp: adding vmstate for save/restore, (continued)
- [Qemu-devel] [PATCH v2 01/12] integratorcp: adding vmstate for save/restore, Pavel Dovgalyuk, 2014/08/28
- [Qemu-devel] [PATCH v2 02/12] pcspk: adding vmstate for save/restore, Pavel Dovgalyuk, 2014/08/28
- [Qemu-devel] [PATCH v2 03/12] fdc: adding vmstate for save/restore, Pavel Dovgalyuk, 2014/08/28
- [Qemu-devel] [PATCH v2 04/12] parallel: adding vmstate for save/restore, Pavel Dovgalyuk, 2014/08/28
- [Qemu-devel] [PATCH v2 05/12] serial: fixing vmstate for save/restore, Pavel Dovgalyuk, 2014/08/28
- [Qemu-devel] [PATCH v2 06/12] apic_common: fixing loading vmstate, Pavel Dovgalyuk, 2014/08/28
- [Qemu-devel] [PATCH v2 07/12] apic_common: vapic_paddr synchronization fix, Pavel Dovgalyuk, 2014/08/28
- [Qemu-devel] [PATCH v2 08/12] hpet: fixing saving and loading process, Pavel Dovgalyuk, 2014/08/28
- Re: [Qemu-devel] [PATCH v2 08/12] hpet: fixing saving and loading process,
Paolo Bonzini <=
- [Qemu-devel] [PATCH v2 09/12] pckbd: adding new fields to vmstate, Pavel Dovgalyuk, 2014/08/28
- [Qemu-devel] [PATCH v2 10/12] piix: do not raise irq while loading vmstate, Pavel Dovgalyuk, 2014/08/28
- [Qemu-devel] [PATCH v2 11/12] mc146818rtc: add missed field to vmstate, Pavel Dovgalyuk, 2014/08/28
- [Qemu-devel] [PATCH v2 12/12] pl031: add missed field to vmstate, Pavel Dovgalyuk, 2014/08/28
- Re: [Qemu-devel] [PATCH v2 00/12] Fixing hardware migration issues, Paolo Bonzini, 2014/08/28