Re: [PATCH 2/3] pci: don't assume pref memio are 64bit -v2

From: Ingo Molnar
Date: Sat Apr 18 2009 - 16:47:20 EST



* Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx> wrote:

> On Sat, Apr 18, 2009 at 01:44:51AM -0700, Yinghai Lu wrote:
> > and BIOS set
> > [ 0.240007] pci 0000:00:01.0: bridge 64bit mmio pref: [0xbdf00000-0xddefffff]
>
> An obvious BIOS bug, the bridge base overlaps the physical low RAM
> (0x00000000-0xc0000000). Technically speaking, this nonsense
> *happens* to work on Intel hardware, so it seems to be quite
> common bug nowadays - BIOS writers get lost in ACPI and other
> "useful" stuff contradicting the PCI specs.

it doesnt matter whether we call it a BIOS bug or not.

> ...
>
> > + /* don't allocate too high if the pref mem doesn't support 64bit*/
> > + if ((res->flags & (IORESOURCE_PREFETCH | PCI_PREF_RANGE_TYPE_64)) ==
> > + IORESOURCE_PREFETCH)
> > + max = 0xffffffff;
>
> This effectively destroys non-x86 64-bit arches. You've been told about
> that before, so I'm really surprised to see this "patch" once again.
>
> Categorically NACKed.

You can ridicule the patch and can NAK it (and rightfully so, it's
wrong), but you seem to miss the simple fact that this solves a very
real problem.

So consider this patch a documentation and analysis of a real
problem which made Linux work on hardware where it did not work
before. That's more valuable than 95% of our commits btw.

> P.S. I recall that I had a patch that addressed the issue, and
> Ingo made some reasonable comments about it. Will post it
> tomorrow.

That should have been pursued far more agressively.

Thanks,

Ingo
--
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/