Re: [PATCH 0/5]PCI: x86 MMCONFIG

From: Robert Hancock
Date: Wed Dec 19 2007 - 19:13:50 EST


Greg KH wrote:
On Wed, Dec 19, 2007 at 05:17:46PM -0500, tcamuso@xxxxxxxxxx wrote:
OVERVIEW
=======

The patches should be applied in sequence to obviate any
possible build problems.

The patch-set was built against 2.6.24-rc5

Description
===========

There exist devices that do not respond correctly to PCI
MMCONFIG accesses in x86 platforms.

What devices are these? Do you have reports of them somewhere?

This patch-set detects the problem by comparing an MMCONFIG
read to a Legacy PCI config read of the vendor/device dword
of every device discovered during the PCI probing sequence.

A miscompare means that a device does not correctly respond
to MMCONFIG accesses. When the patch code detects this condition,
the bus that serves this device, and all subordinate buses, will
be programmed to use Legacy PCI Config accesses.

This patch-set DOES NOT detect devices that generate machine
checks against MMCONFIG accesses. For such systems,
"pci=nommconf" is required in the boot command.

That sounds like this patchset can cause bad side affects on hardware
that currently works just fine. That is not a good thing to be adding
to the kernel, right?

I think we need more details on why this patch is needed. Also, we already have something like this in arch/x86/pci/mmconfig-shared.c, in the unreachable_devices function. This attempts to detect devices where MMCONFIG cannot access the configuration space (one of these would be at least one device in the AMD K8 built-in northbridge). If this is not sufficient, I would suggest expanding that mechanism instead of adding all this new code.

--
Robert Hancock Saskatoon, SK, Canada
To email, remove "nospam" from hancockr@xxxxxxxxxxxxx
Home Page: http://www.roberthancock.com/

--
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/