qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH qom-cpu v2 3/8] cpu: Register VMStateDescription


From: Eduardo Habkost
Subject: Re: [Qemu-devel] [PATCH qom-cpu v2 3/8] cpu: Register VMStateDescription through CPUState
Date: Mon, 18 Feb 2013 16:57:59 -0300
User-agent: Mutt/1.5.21 (2010-09-15)

On Mon, Feb 18, 2013 at 08:42:28PM +0100, Andreas Färber wrote:
> In comparison to DeviceClass::vmsd, CPU VMState is split in two,
> "cpu_common" and "cpu", and uses cpu_index as instance_id instead of -1.
> Therefore add a CPU-specific CPUClass::vmsd field.
> 
> Unlike the legacy CPUArchState registration, rather register CPUState.
> 
> Signed-off-by: Juan Quintela <address@hidden>
> Signed-off-by: Andreas Färber <address@hidden>
> ---
[...]
> @@ -266,6 +268,7 @@ CPUState *qemu_get_cpu(int index)
>  void cpu_exec_init(CPUArchState *env)
>  {
>      CPUState *cpu = ENV_GET_CPU(env);
> +    CPUClass *cc = CPU_GET_CLASS(cpu);
>      CPUArchState **penv;
>      int cpu_index;
>  
> @@ -290,11 +293,15 @@ void cpu_exec_init(CPUArchState *env)
>  #if defined(CONFIG_USER_ONLY)
>      cpu_list_unlock();
>  #endif
> -#if defined(CPU_SAVE_VERSION) && !defined(CONFIG_USER_ONLY)
>      vmstate_register(NULL, cpu_index, &vmstate_cpu_common, env);

Now vmstate_cpu_common is registered even if CPU_SAVE_VERSION isn't
defined and cc->vmsd is NULL. Is this intentional?


> +#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);
>  #endif
> +    if (cc->vmsd != NULL) {
> +        vmstate_register(NULL, cpu_index, cc->vmsd, cpu);
> +    }
>  }
>  
[...]

-- 
Eduardo



reply via email to

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