Re: [PATCH V2 22/23] pci, acpi: Match PCI config space accessors against platfrom specific quirks.

From: David Daney
Date: Mon Dec 21 2015 - 12:30:31 EST


On 12/21/2015 06:10 AM, Arnd Bergmann wrote:
On Monday 21 December 2015, Gabriele Paoloni wrote:
-----Original Message-----
From: linux-kernel-owner@xxxxxxxxxxxxxxx [mailto:linux-kernel-
owner@xxxxxxxxxxxxxxx] On Behalf Of Tomasz Nowicki

Some platforms may not be fully compliant with generic set of PCI
config accessors. For these cases we implement the way to overwrite
accessors set before PCI buses enumeration. Algorithm that overwrite
accessors matches against platform ID (DMI), domain and bus number,
hopefully enough for all cases. All quirks can be defined using:
DECLARE_ACPI_MCFG_FIXUP() and keep self contained.

I've got a couple of comments/questions about this patch..

1) So according to this mechanism quirks would be supported only by
vendors whose BIOS are SMBIOS compliant. Now personally I am ok
with this but I don't know if this is OK in general as it would
narrow down the number of platforms that would be able to define
the quirks...
Lorenzo, Arnd what is your opinion here?

I'd rather not see the quirks in mainline at all, and only support
SBSA compliant machines,

There seems to exist a class of systems that were intended to be SBSA compliant, but after they were manufactured turn out to not be fully complaint. It would be nice to have Linux kernel support for some of these systems

There also seems to be historical precedent for quirk frameworks in various kernel subsystems to handle systems and devices that are not fully "Spec. Compliant".

or require the BIOS to work around the hardware
quirks differently (e.g. by trapping config space access through secure
firmware, or going through an AML method to be defined).

Some systems don't seem to have this capability. For example, in ARMv8 (A.K.A. arm64), I haven't been able to figure out how to trap these accesses to EL3 for emulation. The specification is 5700 pages long though, so perhaps I missed that bit.

I'm certainly
ok with making it depend on SMBIOS if we are going to use something like this.

Arnd


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/