Re: pci-disable-decode-of-io-memory-during-bar-sizing.patch

Jesse Barnes
2007-10-30T22:07:44Z

On Tuesday, October 30, 2007 10:07 am Linus Torvalds wrote:
> (Where "screwed up badly" is the usual "left it to firmware people"
> thing, of course. Dammit, Intel *could* have just made it a real PCI
> BAR in the Northbridge, and specified it as such, and we wouldn't
> have these problems! But no, it had to be another idiotic "firmware
> tells where it is" thing)

The per-device flag is fine with me, but I should make something clear:

MMCONFIG IS NOT BROKEN!

Nor is finding mmconfig space. We know how to do that too.

What's broken is our PCI probing with certain address space layouts that
include MMCONFIG space. Since MMCONFIG is in MMIO space (by
definition) there will always be the potential for problems when we use
MMCONFIG and don't disable decode while sizing BARs (probably a latent
bug on many non-PC Linux platforms).

So we can either use I/O ports for sizing and only switch to MMCONFIG
later, or we can just use it on an as-needed basis, or we can make our
PCI probing safe if MMCONFIG is in use.

Jesse