From: Dmitry Osipenko <[email protected]> The timer should fire the interrupt only if the IT (interrupt enable) bit state of the control register is enabled.
Signed-off-by: Dmitry Osipenko <[email protected]> Reviewed-by: Peter Crosthwaite <[email protected]> Signed-off-by: Peter Maydell <[email protected]> --- hw/timer/arm_mptimer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/timer/arm_mptimer.c b/hw/timer/arm_mptimer.c index 0e132b1..3e59c2a 100644 --- a/hw/timer/arm_mptimer.c +++ b/hw/timer/arm_mptimer.c @@ -38,7 +38,7 @@ static inline int get_current_cpu(ARMMPTimerState *s) static inline void timerblock_update_irq(TimerBlock *tb) { - qemu_set_irq(tb->irq, tb->status); + qemu_set_irq(tb->irq, tb->status && (tb->control & 4)); } /* Return conversion factor from mpcore timer ticks to qemu timer ticks. */ -- 1.9.1
