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