From patchwork Mon Dec 17 06:08:17 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [2/3] Reset qemu timers when guest reset Date: Sun, 16 Dec 2012 20:08:17 -0000 From: Bharat Bhushan X-Patchwork-Id: 206778 Message-Id: <1355724498-15164-3-git-send-email-bharat.bhushan@freescale.com> To: , , Cc: Bharat Bhushan This patch install the timer reset handler. This will be called when the guest is reset. Signed-off-by: Bharat Bhushan --- 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; + + 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); }