Re: [patch] Make MMCONFIG space (extended PCI config space) a driver opt-in issue

Jeff Garzik
2007-12-23T04:13:58Z

Linus Torvalds wrote:
> On Sat, 22 Dec 2007, Jeff Garzik wrote:
>> Regardless of whether a driver is loaded or not, you may NEED to see extended
>> capabilities. The system may NEED to see those capabilities just to parse
>> them for sane operation.
>
> And that's just not true.
>
> I don't know why you even claim so. There is absolutely *zero* need for
> MMCONFIG for 100% of old hardware, and old hardware is exactly the
> problem. The hardware that people will run next year isn't the issue.

I'm not claiming anything about old hardware.

It should be self-evident that mmconfig doesn't work on old hardware, is
not needed on old hardware, should not be turned on for old hardware,
and in general should never disturb old hardware.

> There may be an absolute need for MMCONFIG for future machines and future
> drivers, but there is not a single machine in existence today that really
> depends on it. You're just making things up. At worst, you lose some
> not-so-important error reporting, no more.
>
> So don't go spreading obvious untruths,

The facts as they exist today:

1) Existing 256-byte config space devices have been known put
capabilities in the high end (>= 0xc8) of config space.

2) It is legal for PCI-Express to put capabilities anywhere in PCI
config space, including extended config space. (I hope our PCI cap
walking code checks for overruns...)

3) Most new machines ship with PCI-Express devices with extended config
space.

Therefore it is provable /possible/, and is indeed logical to conclude
that capabilities in extended config space will follow the same pattern
that existing hw designers have been following... but only once the
current OS's have stable extended-config-space support.

Maybe that day will never come, but it is nonetheless quite possible
without today's PCI Express spec for this to happen.

We must handle this case, even if mmconfig is COMPLETELY DISABLED (i.e.
normal mode today).

Jeff