aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArtyom Tarasenko <atar4qemu@googlemail.com>2010-08-02 19:58:21 +0200
committerAnthony Liguori <aliguori@us.ibm.com>2010-10-11 18:20:39 -0500
commit9f20b55b9a909de3499d5993f8da6c9bc469653f (patch)
tree1a6417da1e9176d6320c61d8d5d6620d3a4a2344
parentd25de8db83128d4c80f7d9fb570bfeba14ee21d2 (diff)
fix last cpu timer initialization
The timer #0 is the system timer, so the timer #num_cpu is the timer of the last CPU, and it must be initialized in slavio_timer_reset. Don't mark non-existing timers as running. Signed-off-by: Artyom Tarasenko <atar4qemu@gmail.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com> (cherry picked from commit 5933e8a96ab9c59cb6b6c80c9db385364a68c959)
-rw-r--r--hw/slavio_timer.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/hw/slavio_timer.c b/hw/slavio_timer.c
index d7875536b..c125de4b6 100644
--- a/hw/slavio_timer.c
+++ b/hw/slavio_timer.c
@@ -377,12 +377,12 @@ static void slavio_timer_reset(DeviceState *d)
curr_timer->limit = 0;
curr_timer->count = 0;
curr_timer->reached = 0;
- if (i < s->num_cpus) {
+ if (i <= s->num_cpus) {
ptimer_set_limit(curr_timer->timer,
LIMIT_TO_PERIODS(TIMER_MAX_COUNT32), 1);
ptimer_run(curr_timer->timer, 0);
+ curr_timer->running = 1;
}
- curr_timer->running = 1;
}
s->cputimer_mode = 0;
}