Re: PCI resource problems caused by improper address rounding

From: Richard Henderson
Date: Thu Dec 20 2007 - 16:54:35 EST


On Tue, Dec 18, 2007 at 05:38:58PM -0800, Linus Torvalds wrote:
> That
>
> PCI: Cannot allocate resource region 9 of bridge 0000:00:01.0
> PCI: Cannot allocate resource region 1 of device 0000:01:00.0
>
> thing is really starting to bug me.
>
> I bet that is the real problem here, but it's not printing out enough
> information about the resource to actually give us much of a clue about
> what is wrong.
>
> I suspect that it had a bridge mapping (device 0:01.0) that included the
> range from 0xc0000000 to 0xcfffffff, but there was something stupid wrong
> with it (eg the BIOS had allocated overlapping regions), so we disabled
> it. That, in turn, then caused us to also refuse the existing 0xc0000000
> mapping for the graphics card (device 01:00.0), because now there was no
> valid resource for it.

That is exactly it. The relevant section of the debug info is

PCI: Bridge 0000:00:01.0
PCI: Bridge resource 7 00008000-00008fff (%f=100)
PCI: Bridge resource 8 f7d00000-fddfffff (%f=200)
PCI: Bridge resource 9 bdf00000-ddefffff (%f=1201)

The bridge was assigned to a piece of the end of physical memory.



r~
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/