qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 12/12] pl031: add missed field to vmstate


From: Peter Maydell
Subject: Re: [Qemu-devel] [PATCH v2 12/12] pl031: add missed field to vmstate
Date: Mon, 1 Sep 2014 17:59:10 +0100

On 28 August 2014 12:19, Pavel Dovgalyuk <address@hidden> wrote:
> This patch adds timer which uses virtual clock to the VMState.
> Such timers are required for saving because virtual clock is the part
> of the virtual machine state.
>
> Signed-off-by: Pavel Dovgalyuk <address@hidden>
> ---
>  hw/timer/pl031.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/hw/timer/pl031.c b/hw/timer/pl031.c
> index 34d9b44..f8e5abc 100644
> --- a/hw/timer/pl031.c
> +++ b/hw/timer/pl031.c
> @@ -230,12 +230,13 @@ static int pl031_post_load(void *opaque, int version_id)
>
>  static const VMStateDescription vmstate_pl031 = {
>      .name = "pl031",
> -    .version_id = 1,
> +    .version_id = 2,
>      .minimum_version_id = 1,
>      .pre_save = pl031_pre_save,
>      .post_load = pl031_post_load,
>      .fields = (VMStateField[]) {
>          VMSTATE_UINT32(tick_offset_vmstate, PL031State),
> +        VMSTATE_TIMER_V(timer, PL031State, 2),
>          VMSTATE_UINT32(mr, PL031State),
>          VMSTATE_UINT32(lr, PL031State),
>          VMSTATE_UINT32(cr, PL031State),

Looking at the code I'm not sure this patch is required.
It looks like the intention is that the migrated state for
the timer is in the tick_offset_vmstate: we have a
pre-save hook that sets up that field, and then the post-load
hook calls pl031_set_alarm() which will always completely
reinitialise s->timer using timer_del() or timer_mod().
What am I missing?

thanks
-- PMM



reply via email to

[Prev in Thread] Current Thread [Next in Thread]