Subject: Re: "Blue & White" G3 (long)
To: William O Ferry <woferry@iname.com>
From: Jason Thorpe <thorpej@nas.nasa.gov>
List: port-macppc
Date: 03/08/1999 09:25:41
On Sun, 07 Mar 1999 15:32:21 -0800 
 William O Ferry <woferry@iname.com> wrote:

 > actually a device at the number it tries.  On the first pci_conf_read() it 
 > does an out32rb(), then fails on the in32rb(), and I get the same trap if I 
 > try to dereference r->data between these two calls.  IIRC a trap 200 is like a 
 > bus error, it seems that the address is not set up to return data.  I do not 
 > know enough about PCI to know what is actually going wrong here, or how to fix 
 > it.  Presumably NetBSD's code works for other architectures, it certainly 
 > works for the MPC106 itself.  "dev / ls" indicates that (at least on my 
 > system) the devices on the bridge are at device slots 0, 1, 5 and 6.  So I 
 > added this code to pci.c (at the top of the for loop in pci_probe_bus() and it 

NetBSD/alpha does a badaddr() on the address it's about to look at to read
PCI configuration space.  If badaddr() -> true (i.e. address is invalid),
no device is there.

You might want to employ a similar technique.

        -- Jason R. Thorpe <thorpej@nas.nasa.gov>