Re: [RFC PATCH] PCI MMCONFIG: add validation against ACPI motherboard resources

Linus Torvalds
2007-05-23T21:57:22Z

On Wed, 23 May 2007, Jesse Barnes wrote:
> > You told it to not forward memory. Why complain when it does as told?
>
> Well, because that's not actually very useful functionality, and likely
> makes software that seems "obviously" correct wrt the PCI spec break.

I agree that a chip that doesn't do it isn't broken either, but the fact
is, there is never any reason to disable MEM/IO on a host bridge. Doing so
is senseless - it can never be a valid operation. So I duspute the
"obviously correct" part. It's _not_ obviously correct at all.

To get back to the MMIO example: even if you were to never shut off RAM,
if you turn off just PCI MMIO on the northbridge, what is a mmconfig cycle
supposed to do? It's not going to _work_ if you disable MEM accesses.

So again, the only sane situation is: don't do it then! You claim that
hardware shouldn't do it, but I don't think software is in any different
situation at all! If it's insane to do, then software shouldn't do it.

It's just insane to turn off the MEM bit. There's simply no valid reason
to. And any PCI spec that says you should is *broken*, or written by
somebody who really only meant to talk about normal PCI devices, not
bridges.

> Apparently Vista will move away from using type 1 config space accesses
> though, so if we keep using it, we'll probably run into some lame board
> that assumes you're using mmconfig at some point in the near future.

How are those boards going to set up mmconfig? The whole standard is
broken, since there is no way to set it up.

Trust the firmware? What a piece of crap!

Linus