On Mon, Jul 29, 2013 at 10:20 AM, Andreas Färber <afaer...@suse.de> wrote:
> Commit 1a1562f5ea3da17d45d3829e35b5f49da9ec2db5 prepared a VMSTATE_CPU()
> macro for device-style VMStateDescription registration, but missed to
> adapt cpu_exec_init(), so that the "cpu_common" VMStateDescription was
> still registered for AlphaCPU (fe31e7374299c0c6172ce618b29bf2fecbd881c7)
> and OpenRISCCPU (da69721460e652072b6a3dd52b7693da21ffe237). Fix this.
>
> Cc: Richard Henderson <r...@twiddle.net>
> Cc: Jia Liu <pro...@gmail.com>
> Signed-off-by: Andreas Färber <afaer...@suse.de>
> ---
>  exec.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/exec.c b/exec.c
> index c4f2894..3ca9381 100644
> --- a/exec.c
> +++ b/exec.c
> @@ -402,11 +402,14 @@ void cpu_exec_init(CPUArchState *env)
>  #if defined(CONFIG_USER_ONLY)
>      cpu_list_unlock();
>  #endif
> -    vmstate_register(NULL, cpu_index, &vmstate_cpu_common, cpu);
> +    if (qdev_get_vmsd(DEVICE(cpu)) == NULL) {
> +        vmstate_register(NULL, cpu_index, &vmstate_cpu_common, cpu);
> +    }
>  #if defined(CPU_SAVE_VERSION) && !defined(CONFIG_USER_ONLY)
>      register_savevm(NULL, "cpu", cpu_index, CPU_SAVE_VERSION,
>                      cpu_save, cpu_load, env);
>      assert(cc->vmsd == NULL);
> +    assert(qdev_get_vmsd(DEVICE(cpu)) == NULL);
>  #endif
>      if (cc->vmsd != NULL) {
>          vmstate_register(NULL, cpu_index, cc->vmsd, cpu);

Tested-by: Jia Liu <pro...@gmail.com>

> --
> 1.8.1.4
>

Regards,
Jia

Reply via email to