From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Williamson Subject: Re: [kvm-devel] [PATCH 2/5] SCI fixes (v2) Date: Mon, 26 May 2008 21:05:19 -0600 Message-ID: <1211857519.14708.30.camel@bling> References: <1202137865-20232-1-git-send-email-aliguori@us.ibm.com> <1202137865-20232-3-git-send-email-aliguori@us.ibm.com> Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 7bit Cc: kvm-devel To: Anthony Liguori Return-path: Received: from g1t0027.austin.hp.com ([15.216.28.34]:41247 "EHLO g1t0027.austin.hp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753801AbYE0DFW (ORCPT ); Mon, 26 May 2008 23:05:22 -0400 In-Reply-To: <1202137865-20232-3-git-send-email-aliguori@us.ibm.com> Sender: kvm-owner@vger.kernel.org List-ID: On Mon, 2008-02-04 at 09:11 -0600, Anthony Liguori wrote: > @@ -97,11 +100,12 @@ static void pm_update_sci(PIIX4PMState *s) > pmsts = get_pmsts(s); > sci_level = (((pmsts & s->pmen) & > (RTC_EN | PWRBTN_EN | GBL_EN | TMROF_EN)) != 0); > - qemu_set_irq(s->dev.irq[0], sci_level); > + qemu_set_irq(s->irq, sci_level); > /* schedule a timer interruption if needed */ > 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 += 0x800000; Hi Anthony, I'm digging up a patch from a while back. What's the purpose of bumping tmr_overflow_time here? It seems like this is intended to prevent the timer overflow status from ever triggering an SCI, but that seems contrary to the ACPI spec. I've tracked down a case where Vista is enabling the timer overflow and appears to get stuck if it never gets the overflow interrupt. Commenting out the last line here fixes it. Suggestions? Thanks, Alex -- Alex Williamson HP Open Source & Linux Org.