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