All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marcelo Tosatti <mtosatti@redhat.com>
To: Avi Kivity <avi@qumranet.com>
Cc: Chris Wright <chrisw@redhat.com>, kvm-devel <kvm@vger.kernel.org>
Subject: Re: [patch 3/4] QEMU/KVM: non-virtualized ACPI PMTimer support
Date: Sun, 25 May 2008 13:32:21 -0300	[thread overview]
Message-ID: <20080525163221.GC16012@dmt> (raw)
In-Reply-To: <48393D06.2060406@qumranet.com>

On Sun, May 25, 2008 at 01:18:46PM +0300, Avi Kivity wrote:
> > int acpi_enabled;
> >-uint32_t pm_io_base, smb_io_base;
> >+uint32_t pm_io_base, pmtmr_base, smb_io_base;
> > int pm_sci_int;
> > unsigned long bios_table_cur_addr;
> > unsigned long bios_table_end_addr;
> >@@ -819,6 +819,12 @@ static void pci_bios_init_device(PCIDevi
> >         pci_config_writeb(d, PCI_INTERRUPT_LINE, 9);
> > 
> >         pm_io_base = PM_IO_BASE;
> >+        pmtmr_base = cmos_readb(0x60);
> >+        pmtmr_base |= cmos_readb(0x61) << 8;
> >+        pmtmr_base |= cmos_readb(0x62) << 16;
> >+        pmtmr_base |= cmos_readb(0x63) << 24;
> >+        if (!pmtmr_base)
> >+            pmtmr_base = pm_io_base + 0x08;
> >  
> 
> You're splitting the ACPI ioport range into two.  I think the correct 
> fix here is to have qemu supply a PMBA hint to the BIOS.  If the hint is 
> placing other pio resources there.

What is PMBA?

>From my understand ACPI supports an address for each register block, and
the PMTimer resides in a separate block. So what is the problem with
having different ACPI blocks in different ports?

Note that the GPE0 registers are in a different port range than
PM1EVT/PM1CNT/PMTimer already.

> >+static void schedule_pmtmr_sci(PIIX4PMState *s)
> >+{
> >+    int64_t expire_time;
> >+    uint32_t pmtmr, left;
> >+
> >+    if (s->direct_access)
> >+        qemu_kvm_get_pmtimer(&pmtmr);
> >+    else
> >+        pmtmr = get_pmtmr(s);
> >  
> 
> get_pmtmr() should have this logic.
> 
> >+
> >+    left = (1 << 24) - pmtmr;
> >  
> 
> The docs say that SCI is generated when bit 23 toggles, not on 
> overflow.  See TMROF_STS PIIX4 documentation.

Yeah, misread the docs, as usual.

> 
> In any case, this should be in a separate patch.
> 
> -- 
> error compiling committee.c: too many arguments to function

  reply	other threads:[~2008-05-25 16:32 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-24 23:43 [patch 0/4] C2 "emulation" Marcelo Tosatti
2008-05-24 23:43 ` [patch 1/4] QEMU/KVM: self-disabling C2 emulation Marcelo Tosatti
2008-05-24 23:43 ` [patch 2/4] libkvm: KVM_GET_PMTIMER ioctl support Marcelo Tosatti
2008-05-24 23:43 ` [patch 3/4] QEMU/KVM: non-virtualized ACPI PMTimer support Marcelo Tosatti
2008-05-25 10:18   ` Avi Kivity
2008-05-25 16:32     ` Marcelo Tosatti [this message]
2008-05-26  8:16       ` Avi Kivity
2008-05-29 17:56     ` Marcelo Tosatti
2008-05-31  7:52       ` Avi Kivity
2008-05-25 10:19   ` Avi Kivity
2008-05-25 17:39     ` Marcelo Tosatti
2008-05-26  8:23       ` Avi Kivity
2008-05-24 23:43 ` [patch 4/4] KVM: allow direct access to PMTimer port Marcelo Tosatti
2008-05-25 10:04   ` Avi Kivity
2008-05-25 16:09     ` Marcelo Tosatti
2008-05-25 12:31   ` Avi Kivity
2008-05-25 16:12     ` Marcelo Tosatti
2008-05-26  8:03       ` Avi Kivity

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080525163221.GC16012@dmt \
    --to=mtosatti@redhat.com \
    --cc=avi@qumranet.com \
    --cc=chrisw@redhat.com \
    --cc=kvm@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.