Re: PCI bridge range sizing bug

From: Ivan Kokshaysky
Date: Fri Apr 20 2007 - 05:24:12 EST


On Thu, Apr 19, 2007 at 05:19:20PM -0700, Linus Torvalds wrote:
> I think we used to *never* assign PCI bus resources on x86, but that thing
> got fixed some time ago. Now I think we only re-assign them if they were
> unassigned *or* if the assignment wasn't working before. But I'm not 100%
> sure about that second part... It's been working so well that I don't
> think we've had a lot of problems with resource assignment lately, and
> I've paged it all out of my brain.
>
> Ivan, can you remind my tired old brain?

No :-) You are absolutely right - we re-assign only unassigned OR
conflicting resources. And yes, x86 kernel does accept any enabled
bridge ranges without looking at what is on the other side of the
bridge.

I think what we need is some very minimalistic validity check for
BIOS bridge setup: calculate sums of resource ranges of each type
(or just MEM and PREFETCH, should we care about IO these days?)
for devices that are behind the bridge, even without taking alignment
requirements into account. Then, if some window is too small, we just
let the pci_assign_unassigned_resources to take care of that.

Ivan.
-
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/