Skip to contentSkip to conversation

ACPI timer fix

RFC PATCH New TeLeMan 1 participant 1 message Dec 12, 2007

lore
Share & tools
lore

TeLeMan

author
#0 lore raw

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.