diff options
author | Artyom Tarasenko <atar4qemu@googlemail.com> | 2010-08-02 19:58:21 +0200 |
---|---|---|
committer | Blue Swirl <blauwirbel@gmail.com> | 2010-08-02 18:49:13 +0000 |
commit | 5933e8a96ab9c59cb6b6c80c9db385364a68c959 (patch) | |
tree | 5cd8921dd78b6d69efca5b5e623a5f9979b8938a | |
parent | ad7ee4ad6c3a5388acf94dd532d291ea6d3a5972 (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>
-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 d7875536b6..c125de4b62 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; } |