[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH qom-cpu for-1.6] cpu: Fix VMSTATE_CPU() semantic
From: |
Jia Liu |
Subject: |
Re: [Qemu-devel] [PATCH qom-cpu for-1.6] cpu: Fix VMSTATE_CPU() semantics |
Date: |
Mon, 29 Jul 2013 11:44:34 +0800 |
On Mon, Jul 29, 2013 at 10:20 AM, Andreas Färber <address@hidden> 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 <address@hidden>
> Cc: Jia Liu <address@hidden>
> Signed-off-by: Andreas Färber <address@hidden>
> ---
> 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 <address@hidden>
> --
> 1.8.1.4
>
Regards,
Jia