[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 2/7] Fix interval interrupt of cadence ttc when timer
From: |
Peter Maydell |
Subject: |
[Qemu-devel] [PULL 2/7] Fix interval interrupt of cadence ttc when timer is in decrement mode |
Date: |
Mon, 6 Jul 2015 10:59:30 +0100 |
From: Johannes Schlatow <address@hidden>
The interval interrupt is not set if the timer is in decrement mode.
This is because x >=0 and x < interval after leaving the while-loop.
Signed-off-by: Johannes Schlatow <address@hidden>
Message-id: address@hidden
Reviewed-by: Peter Crosthwaite <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
---
hw/timer/cadence_ttc.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/hw/timer/cadence_ttc.c b/hw/timer/cadence_ttc.c
index d46db3c..35bc880 100644
--- a/hw/timer/cadence_ttc.c
+++ b/hw/timer/cadence_ttc.c
@@ -208,15 +208,14 @@ static void cadence_timer_sync(CadenceTimerState *s)
s->reg_intr |= (2 << i);
}
}
+ if ((x < 0) || (x >= interval)) {
+ s->reg_intr |= (s->reg_count & COUNTER_CTRL_INT) ?
+ COUNTER_INTR_IV : COUNTER_INTR_OV;
+ }
while (x < 0) {
x += interval;
}
s->reg_value = (uint32_t)(x % interval);
-
- if (s->reg_value != x) {
- s->reg_intr |= (s->reg_count & COUNTER_CTRL_INT) ?
- COUNTER_INTR_IV : COUNTER_INTR_OV;
- }
cadence_timer_update(s);
}
--
1.9.1
- [Qemu-devel] [PULL 0/7] target-arm queue, Peter Maydell, 2015/07/06
- [Qemu-devel] [PULL 5/7] hw/intc/arm_gic_common.c: Reset all registers, Peter Maydell, 2015/07/06
- [Qemu-devel] [PULL 3/7] target-arm: Split DISAS_YIELD from DISAS_WFE, Peter Maydell, 2015/07/06
- [Qemu-devel] [PULL 1/7] target-arm: fix write helper for TLBI ALLE1IS, Peter Maydell, 2015/07/06
- [Qemu-devel] [PULL 7/7] arm_mptimer: Respect IT bit state, Peter Maydell, 2015/07/06
- [Qemu-devel] [PULL 6/7] arm_mptimer: Fix timer shutdown and mode change, Peter Maydell, 2015/07/06
- [Qemu-devel] [PULL 4/7] target-arm: Implement YIELD insn to yield in ARM and Thumb translators, Peter Maydell, 2015/07/06
- [Qemu-devel] [PULL 2/7] Fix interval interrupt of cadence ttc when timer is in decrement mode,
Peter Maydell <=
- Re: [Qemu-devel] [PULL 0/7] target-arm queue, Peter Maydell, 2015/07/06