From: David Lively <dlively@virtualiron.com>
To: xen-devel@lists.xensource.com
Subject: HVM PIC/APIC confusion in ACPI firmware?
Date: Tue, 26 Sep 2006 14:20:08 -0400 [thread overview]
Message-ID: <45196F58.4070307@virtualiron.com> (raw)
Hi Folks -
I'm pretty new to ACPI (don't know my ASL from a hole in the ground :-),
but I think the _PRT method has the PIC/APIC cases reversed. I'm looking
at tools/firmware/acpi/acpi_dsdt.asl. The ACPI spec says a _PIC method (if
defined) will be called with an argument of 1 if the host is using APIC
interrupts.
If the host is using PIC interrupts instead, it will either not call the
_PIC method,
or will call it with an argument of 0.
The current _PIC method simply stores its argument into the PICD variable:
Name(PICD, 0)
Method(_PIC, 1) {
Store(Arg0, PICD)
}
So PICD will contain 0 for PIC mode, and 1 for APIC mode. The _PRT
method then returns a PCI routing table appropriate for the current
interrupt mode:
Method(_PRT, 0) {
If (PICD) { Return(PRTA) }
Return (PRTP)
}
But PRTA is a simple routing table, dealing only with PCI INTA,
while PRTP is a more complex one dealing with PCI INTs A-D.
It looks to me like the _PRT method is backwards, and should be
returning PRTA when PICD is zero, and PRTP otherwise. Right?
Dave
P.S. I made this change locally, but haven't seen much of a difference so
far. It seems to work as well as the original version does.
next reply other threads:[~2006-09-26 18:20 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-09-26 18:20 David Lively [this message]
-- strict thread matches above, loose matches on Subject: below --
2006-09-27 12:10 HVM PIC/APIC confusion in ACPI firmware? Yu, Ke
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=45196F58.4070307@virtualiron.com \
--to=dlively@virtualiron.com \
--cc=xen-devel@lists.xensource.com \
/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.