On 2012-04-17 01:37, Igor Mammedov wrote:
> From: Igor Mammedov <niall...@gmail.com>
> 
> Signed-off-by: Igor Mammedov <niall...@gmail.com>
> ---
>  hw/pc.c           |    8 --------
>  target-i386/cpu.c |    8 ++++++++
>  2 files changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/hw/pc.c b/hw/pc.c
> index db381ab..157327a 100644
> --- a/hw/pc.c
> +++ b/hw/pc.c
> @@ -887,13 +887,6 @@ void pc_acpi_smi_interrupt(void *opaque, int irq, int 
> level)
>      }
>  }
>  
> -static void pc_cpu_reset(void *opaque)
> -{
> -    CPUX86State *env = opaque;
> -
> -    cpu_state_reset(env);
> -}
> -
>  void pc_cpus_init(const char *cpu_model)
>  {
>      CPUX86State *env;
> @@ -904,7 +897,6 @@ void pc_cpus_init(const char *cpu_model)
>          if (!env) {
>              exit(1);
>          }
> -        qemu_register_reset(pc_cpu_reset, env);
>      }
>  }
>  
> diff --git a/target-i386/cpu.c b/target-i386/cpu.c
> index e4dcf52..d92ec58 100644
> --- a/target-i386/cpu.c
> +++ b/target-i386/cpu.c
> @@ -1456,6 +1456,13 @@ static void x86_cpu_reset(CPUState *s)
>      env->halted = !(cpu_get_apic_base(env->apic_state) & 
> MSR_IA32_APICBASE_BSP);
>  }
>  
> +static void pc_cpu_reset(void *opaque)
> +{
> +    CPUX86State *env = opaque;
> +
> +    cpu_reset(ENV_GET_CPU(env));
> +}
> +

I'm not fully familiar with QOM for CPUs, but can't we avoid this
wrapper completely and just register cpu_reset directly?

>  static void mce_init(X86CPU *cpu)
>  {
>      CPUX86State *cenv = &cpu->env;
> @@ -1574,6 +1581,7 @@ static void x86_cpu_realize(Object *obj, Error **errp)
>      CPUX86State *env = &cpu->env;
>  
>      qemu_init_vcpu(env);
> +    qemu_register_reset(pc_cpu_reset, env);
>      cpu_reset(CPU(cpu));
>  }
>  

Jan

-- 
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux

Reply via email to