Re: PCI resource problems caused by improper address rounding

Richard Henderson
2007-12-20T21:54:32Z

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~