ACPI timer fix
RFC PATCH 1/1 ACPI timer fix
tmr_overflow_time is updated only once on guest Windows, so ACPI timer interrupt is raised only twice. My solution is that tmr_overflow_time is updated every time after setting expired_time. I tested it on Windows XP, not sure on other guest OS .
acpi.patch:
hw/acpi.c +0 -0
@@ -102,6 +102,7 @@ static void pm_update_sci(PIIX4PMState *if ((s->pmen &TMROF_EN ) && !(pmsts &TMROF_EN )) { expire_time = muldiv64(s->tmr_overflow_time, ticks_per_sec,
PM_FREQ);
qemu_mod_timer(s->tmr_timer, expire_time);
+ s->tmr_overflow_time+=0x800000LL;
} else {
qemu_del_timer(s->tmr_timer);
}http://www.nabble.com/file/p14296430/acpi.patch acpi.patch
Signature · 2 lines
View this message in context: http://www.nabble.com/-RFC-PATCH--ACPI-timer-fix-tp14296430p14296430.html Sent from the QEMU - Dev mailing list archive at Nabble.com.