Bug 76771 - MCFG rejected when it shouldn't be
Summary: MCFG rejected when it shouldn't be
Status: NEW
Alias: None
Product: Drivers
Classification: Unclassified
Component: PCI (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: drivers_pci@kernel-bugs.osdl.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-05-23 02:50 UTC by Bjorn Helgaas
Modified: 2014-05-23 02:50 UTC (History)
0 users

See Also:
Kernel Version: v3.14
Subsystem:
Regression: No
Bisected commit-id:


Attachments

Description Bjorn Helgaas 2014-05-23 02:50:21 UTC
ECS is an AMD mechanism that allows access to extended PCI config space
(offsets 256-4095) via I/O ports CF8/CFCh.  We normally use ECAM, i.e.,
MMCONFIG, to access that space, but apparently old machines have issues
that meant we couldn't use ECAM.

On all recent AMD CPUs (Fam10h and everything newer), we enable ECS.  On some of those systems, I think we parse the MCFG table and use ECAM to access extended config space; in those cases, I don't think we actually use ECS.

On other systems, I think we reject the MCFG table for some reason, and then I think we *do* use ECS.

I want to stop enabling ECS on future AMD platforms because the ACPI, PCI Firmware, and AMD BKDG all recommend that we use ECAM, we already use ECAM all the time on Intel, and the ECS code is a maintenance problem.

That means we need to figure out how to make ECAM work all the time, which means we need to figure out how to use the MCFG tables that we currently reject.

Some examples of recent dmesg logs where we apparently reject MCFG and rely on ECS (they contain "PCI: not using MMCONFIG" and "Using configuration type 1 for extended access"):

http://forum.fedoraonline.it/viewtopic.php?pid=223356
http://forum.ubuntuusers.de/topic/bootfhehler/#post-6425337
http://crunchbang.org/forums/viewtopic.php?id=32117
http://forums.gentoo.org/viewtopic-t-960182-start-0.html
https://bugzilla.kernel.org/show_bug.cgi?id=68591

Note You need to log in before you can comment on or make changes to this bug.