diff --git a/hw/timer/arm_mptimer.c b/hw/timer/arm_mptimer.c index 0e132b15b5ac5ce12c6106a5df97c0b9ce05ccfd..3e59c2a288a2371fc6b754dbb1b24af2c165ac89 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. */