YhLu <[EMAIL PROTECTED]> writes:
> Eric,
>
> After changed to following,
> PCI_ADDR(0, 0x18, 1, 0xE0), 0x0000FC88, 0x00000003,
> PCI_ADDR(0, 0x18, 1, 0xE4), 0x0000FC88, 0x00000000,
> PCI_ADDR(0, 0x18, 1, 0xE8), 0x0000FC88, 0x00000000,
> PCI_ADDR(0, 0x18, 1, 0xEC), 0x0000FC88, 0x00000000,
And below is the code that I think will unconditionally fix the weird cases.
It does not hurt anything here, but I don't have a board with a second link
handy, so I can't reproduce the failure case. I just get strange hangs
when I attempt to route resources out an invalid link.
It goes in in src/northbridge/amd/amdk8/northbridge.c
unsigned int amdk8_scan_root_bus(device_t root, unsigned int max)
{
unsigned reg;
max = pci_scan_bus(&root->link[0], PCI_DEVFN(0x18, 0), 0xff, max);
/* Unmap all of the other pci busses */
for(reg = 0xe0; reg <= 0xec; reg += 4) {
f1_write_config32(reg, 0);
}
return max;
}
Eric
_______________________________________________
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios