* [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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).