[SPARC64]: Avoid JBUS errors on some Niagara systems.
authorDavid S. Miller <davem@sunset.davemloft.net>
Sat, 10 Jun 2006 08:06:25 +0000 (01:06 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Sat, 10 Jun 2006 08:06:25 +0000 (01:06 -0700)
commit46b304934de417a2238d659ef6459a74cb3f5e6b
tree770b99e2723170f237d9159541484bba7dec21e8
parentc29ca9d1812f2abacaefa7daa31e085600128938
[SPARC64]: Avoid JBUS errors on some Niagara systems.

Doing PCI config space accesses to non-present PCI slots
can result in fatal JBUS errors if the PCI config access
hypervisor call is performed on cpus other than the boot
cpu.

PCI config space accesses to present PCI slots works just
fine.

Recursively traverse the OBP device tree under the PCI
controller node and record all present device IDs into
a small hash table.

Avoid the hypervisor call for any PCI config space access
attempt for a device not recorded in the hash table.

Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc64/kernel/pci_sun4v.c