* [Qemu-devel] [RFC PATCH] ACPI timer fix
@ 2007-12-12 14:36 TeLeMan
0 siblings, 0 replies; only message in thread
From: TeLeMan @ 2007-12-12 14:36 UTC (permalink / raw)
To: qemu-devel
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:
--- qemu.orig/hw/acpi.c Wed Dec 12 22:12:56 2007
+++ qemu/hw/acpi.c Wed Dec 12 22:14:00 2007
@@ -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
--
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.
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2007-12-12 14:36 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-12-12 14:36 [Qemu-devel] [RFC PATCH] ACPI timer fix TeLeMan
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.