提交 452efba6 编写于 作者: B Blue Swirl

Sparc32: fix free-run timer

According to Sun4M System Architecture Manual chapter 5.3.2, a limit
of 0 will not generate interrupts.
Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
上级 07b064e9
...@@ -128,7 +128,8 @@ static void slavio_timer_irq(void *opaque) ...@@ -128,7 +128,8 @@ static void slavio_timer_irq(void *opaque)
slavio_timer_get_out(t); slavio_timer_get_out(t);
DPRINTF("callback: count %x%08x\n", t->counthigh, t->count); DPRINTF("callback: count %x%08x\n", t->counthigh, t->count);
t->reached = TIMER_REACHED; t->reached = TIMER_REACHED;
if (!slavio_timer_is_user(tc)) { /* there is no interrupt if user timer or free-run */
if (!slavio_timer_is_user(tc) && t->limit != 0) {
qemu_irq_raise(t->irq); qemu_irq_raise(t->irq);
} }
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册