On 17.12.2012, at 07:08, Bharat Bhushan wrote: > This patch install the timer reset handler. This will be called when > the guest is reset. > > Signed-off-by: Bharat Bhushan <bharat.bhus...@freescale.com> > --- > hw/ppc_booke.c | 12 ++++++++++++ > 1 files changed, 12 insertions(+), 0 deletions(-) > > diff --git a/hw/ppc_booke.c b/hw/ppc_booke.c > index d51e7fa..837a5b6 100644 > --- a/hw/ppc_booke.c > +++ b/hw/ppc_booke.c > @@ -231,6 +231,16 @@ void store_booke_tcr(CPUPPCState *env, target_ulong val) > > } > > +static void ppc_booke_timer_reset_handle(void *opaque) > +{ > + CPUPPCState *env = opaque; > +
Doesn't this need a cpu_synchronize_state() call? Alex > + env->spr[SPR_BOOKE_TSR] = 0; > + env->spr[SPR_BOOKE_TCR] = 0; > + > + booke_update_irq(env); > +} > + > void ppc_booke_timers_init(CPUPPCState *env, uint32_t freq, uint32_t flags) > { > ppc_tb_t *tb_env; > @@ -251,4 +261,6 @@ void ppc_booke_timers_init(CPUPPCState *env, uint32_t > freq, uint32_t flags) > qemu_new_timer_ns(vm_clock, &booke_fit_cb, env); > booke_timer->wdt_timer = > qemu_new_timer_ns(vm_clock, &booke_wdt_cb, env); > + > + qemu_register_reset(ppc_booke_timer_reset_handle, env); > } > -- > 1.7.0.4 > >