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

Jesse Barnes
2007-10-30T22:35:16Z

On Tuesday, October 30, 2007 3:22 pm Linus Torvalds wrote:
> On Tue, 30 Oct 2007, Jesse Barnes wrote:
> > The per-device flag is fine with me, but I should make something
> > clear:
> >
> > MMCONFIG IS NOT BROKEN!
>
> Trust me, it is.
>
> The particular problem _you_ had with it is only a small small part
> of the bugs we have had.
>
> > What's broken is our PCI probing with certain address space layouts
> > that include MMCONFIG space.
>
> No. You really don't see the big picture. There's been tons of
> problems with MMCONFIG. Like the fact that other devices have their
> IO regions registered on top of it, because the MMCONFIG thing was
> done as a hidden resource. Or the fact that the area claimed was too
> small. Or too large. Or not listed at all.

Yeah, that's definitely a problem, and would be a firmware bug. There's
no doubt that firmwares have had trouble with this in the past, but
given that Vista now relies on this stuff working, it's a lot more
likely to be reliable in current and future systems.

> The whole thing is a total disaster. I told Intel engineers literally
> *years* ago to not do that idiotic "hidden IO resources that are
> described by firmware that then inevitably gets things wrong", and
> yet what happens? Every single time.

I don't disagree there. I'm just saying the actual mechanism is fine
(as illustrated by the numerous non-PC ports of Linux), and this
particular problem, at least, isn't really specific to how MMCONFIG is
described or configured by the firmware and OS, it's simply a Linux
problem.

But like I said, the per-device flag Arjan suggested is fine with me...

Jesse