[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 3/3] arm_mptimer: Respect IT bit state
From: |
Peter Crosthwaite |
Subject: |
Re: [Qemu-devel] [PATCH 3/3] arm_mptimer: Respect IT bit state |
Date: |
Sat, 4 Jul 2015 12:39:55 -0700 |
On Thu, Jul 2, 2015 at 3:52 PM, Dmitry Osipenko <address@hidden> wrote:
> Timer fires interrupt regardless of current IT(interrupt enable) bit state.
> Fix it by making timer to respect IT state.
>
> Signed-off-by: Dmitry Osipenko <address@hidden>
> ---
> 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 58e17c4..82c4462 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));
You also need to trigger timerblock_update_irq on change of state for
the control bit itself. "case 8: /* Control. */" in the _write
handler needs to call this fn.
Regards,
Peter
> }
>
> /* Return conversion factor from mpcore timer ticks to qemu timer ticks. */
> --
> 2.4.4
>
>