If it does, it's not by necessity. As soon as you read the table
location out of the ACPI tables you can start using it, and that
shouldn't require any config space accesses.
Fact is, we don't really know how many of these systems with supposedly
"broken" MMCONFIG were really just suffering from the overlapping
PCI/MMCONFIG address space problem, which is entirely the fault of the
way we do PCI probing. I would bet quite a few of them.
This wouldn't have helped anything with the problem in question.
Why per device? It's not like the MSI case where both the platform and
the device are potentially busted. Whether or not MMCONFIG works has
nothing to do with the device, all that matters is whether it works on
the platform. It shouldn't be the driver's responsibility to know this.
How will they verify that it works? If it works, then verifying it works
is all well and good. If it doesn't work, trying to verify if it does
could very well blow up the machine.
I've made the point before that if we're going to allow using it at all,
we'd better find out if it works or not early on, not after we've been
running and somebody decides it's a good idea to try using it and
causing a lockup or something.
Intel could say what they want on the subject.. but that doesn't
necessarily reflect what happens with anyone else's chipset implementations.
-