Revision 2e70f6ef hw/mips_timer.c
b/hw/mips_timer.c | ||
---|---|---|
91 | 91 |
if (env->CP0_Cause & (1 << CP0Ca_DC)) |
92 | 92 |
return; |
93 | 93 |
|
94 |
/* ??? This callback should occur when the counter is exactly equal to |
|
95 |
the comparator value. Offset the count by one to avoid immediately |
|
96 |
retriggering the callback before any virtual time has passed. */ |
|
97 |
env->CP0_Count++; |
|
94 | 98 |
cpu_mips_timer_update(env); |
99 |
env->CP0_Count--; |
|
95 | 100 |
if (env->insn_flags & ISA_MIPS32R2) |
96 | 101 |
env->CP0_Cause |= 1 << CP0Ca_TI; |
97 | 102 |
qemu_irq_raise(env->irq[(env->CP0_IntCtl >> CP0IntCtl_IPTI) & 0x7]); |
Also available in: Unified diff