diff options
author | Artyom Tarasenko <atar4qemu@googlemail.com> | 2010-08-02 19:58:21 +0200 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2010-10-11 18:20:39 -0500 |
commit | 9f20b55b9a909de3499d5993f8da6c9bc469653f (patch) | |
tree | 1a6417da1e9176d6320c61d8d5d6620d3a4a2344 | |
parent | d25de8db83128d4c80f7d9fb570bfeba14ee21d2 (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.c | 4 |
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; } |