All registers are set to 0 on reset.

This requires my prevoius patch which isn't in CVS yet.
diff -p -u -r1.23 slavio_timer.c
--- hw/slavio_timer.c   17 Dec 2007 18:21:57 -0000      1.23
+++ hw/slavio_timer.c   19 Dec 2007 12:28:30 -0000
@@ -306,13 +369,11 @@ static void slavio_timer_reset(void *opa
 {
     SLAVIO_TIMERState *s = opaque;
 
-    if (slavio_timer_is_user(s))
-        s->limit = TIMER_MAX_COUNT64;
-    else
-        s->limit = TIMER_MAX_COUNT32;
+    s->limit = 0;
     s->count = 0;
     s->reached = 0;
-    ptimer_set_limit(s->timer, LIMIT_TO_PERIODS(s->limit), 1);
+    s->slave_mode = 0;
+    ptimer_set_limit(s->timer, LIMIT_TO_PERIODS(TIMER_MAX_COUNT32), 1);
     ptimer_run(s->timer, 0);
     s->running = 1;
     qemu_irq_lower(s->irq);

Reply via email to