NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: port-amd64/30654: Not all PCI busses configured on Tyan Thunder K8WE when using ACPI
The following reply was made to PR port-amd64/30654; it has been noted by GNATS.
From: Nicolas Joly <njoly%pasteur.fr@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: joerg%NetBSD.org@localhost, gnats-admin%netbsd.org@localhost,
netbsd-bugs%netbsd.org@localhost,
khym%azeotrope.org@localhost
Subject: Re: port-amd64/30654: Not all PCI busses configured on Tyan Thunder
K8WE when using ACPI
Date: Thu, 22 May 2008 22:56:41 +0200
On Thu, May 22, 2008 at 08:35:05PM +0000, Joerg Sonnenberger wrote:
> The following reply was made to PR port-amd64/30654; it has been noted by
> GNATS.
>
> From: Joerg Sonnenberger <joerg%NetBSD.org@localhost>
> To: gnats-bugs%NetBSD.org@localhost
> Cc:
> Subject: Re: port-amd64/30654: Not all PCI busses configured on Tyan
> Thunder K8WE when using ACPI
> Date: Thu, 22 May 2008 20:33:31 +0000
>
> On Sat, Jan 19, 2008 at 02:30:03PM +0000, Nicolas Joly wrote:
> > The problem is that the DSDT is missing the PCI Routing Table (_PRT)
> > for this bus, which is AFAIK mandatory.
> >
> > Device(PCIB) {
> > Name(_HID, 0x030ad041)
> > Name(_ADR, 0x00180000)
> > Method(^BN0B) {
> > Return(0x0)
> > }
> > Method(_BBN) {
> > Return(BN0B())
> > }
> > Name(_UID, 0xb)
> > Device(PBP2) {
> > Name(_ADR, 0x00010000)
> > Method(_PRT) {
> > If(PICM) {
> > Return(AR02)
> > }
> > Return(PR02)
> > }
> > }
> > }
>
> Actually, even more suspicious is the _BBN value. Does the main PCI
> bridge have the same value of 0? I think this is the same problem
> Martin Husemann reported in a slightly different configuration.
Exact, both use the same _BBN value of 0.
Device(PCI0) {
Name(_HID, 0x030ad041)
Name(_ADR, 0x00180002)
Name(_BBN, 0x00)
Name(_UID, 0x00)
Method(_PRT) {
If(PICM) {
Return(AR00)
}
Return(PR00)
}
In the mean tine, i already made a slightly modified DSDT version
which use 0 for PCI0, and 1 for PCIB, but this does not makes any
difference ...
Before any _BBN problem can arise, we fail to detect PCI busses that
do not have _PRT from sys/arch/x86/x86/mpacpi.c in mpacpi_pcibus_cb():
/* try get _PRT. if this fails, we're not interested in it */
rv = acpi_get(handle, &mpr->mpr_buf, AcpiGetIrqRoutingTable);
if (ACPI_FAILURE(rv)) {
free(mpr, M_TEMP);
goto out;
}
--
Nicolas Joly
Biological Software and Databanks.
Institut Pasteur, Paris.
Home |
Main Index |
Thread Index |
Old Index