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

Jeff Garzik
2007-12-27T11:52:50Z

Arjan van de Ven wrote:
> This patch also adds a sysfs property for each device into which root can
> write a '1' to enable extended configuration space. The kernel will print
> a notice into dmesg when this happens (including the name of the app) so that
> if the system crashes as a result of this action, the user can know what
> action/tool caused it.

Comments:

1) [minor] With a bit in struct pci_dev, there is no need for separate
raw_pci_ops. That will simplify your patch, with no functionality change.

"golden" arches (no pun intended) may implement raw_pci_ops that
_always_ work with extended config space, and simply ignore that bit, if
that is how their underlying non-mmconfig-nor-type1 hardware is implemented.

2) [non-minor] hmmmm.

[jgarzik@core ~]$ lspci -n | wc -l
23

So I would have to perform 23 sysfs twiddles, before I could obtain a
full and unabridged 'lspci -vvvxxx'?

For the userspace interface, the most-often-used knob for diagnostic
purposes will be the easiest one. And that's

echo 1 > enable-ext-cfg-space-for-all-buses-ACPI-says-to
lspci -vvvxxx

3) [minor] architectures must be able to override
pci_enable_ext_config(). see "golden arches".