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