qemu-devel
[Top][All Lists]
Advanced

[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
>
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]