[PATCH] PCI address getting truncated to 32-bits
Jake Moilanen
moilanen at austin.ibm.com
Fri Mar 4 06:40:34 EST 2005
While looking at another problem, I ran across this. It looks like we
are truncated our pci addresses coming out of "assigned-addresses" to
32-bits.
Signed-off-by: Jake Moilanen <moilanen at austin.ibm.com>
--
diff -puN arch/ppc64/kernel/prom.c~offb_dsi arch/ppc64/kernel/prom.c
--- linux-2.6.11/arch/ppc64/kernel/prom.c~offb_dsi Thu Mar 3 10:23:22 2005
+++ linux-2.6.11-moilanen/arch/ppc64/kernel/prom.c Thu Mar 3 13:25:54 2005
@@ -333,7 +333,7 @@ static unsigned long __init interpret_pc
while ((l -= sizeof(struct pci_reg_property)) >= 0) {
if (!measure_only) {
adr[i].space = pci_addrs[i].addr.a_hi;
- adr[i].address = pci_addrs[i].addr.a_lo;
+ adr[i].address = ((unsigned long)pci_addrs[i].addr.a_mid << 32) | pci_addrs[i].addr.a_lo;
adr[i].size = pci_addrs[i].size_lo;
}
++i;
More information about the Linuxppc64-dev
mailing list