a712ffbc19
The Moorestown platform only has a few devices that actually support PCI config cycles. The rest of the devices use an in-RAM MCFG space for the purposes of device enumeration and initialization. There are a few uglies in the fake support, like BAR sizes that aren't a power of two, sizing detection, and writes to the real devices, but other than that it's pretty straightforward. Another way to think of this is not really as PCI at all, but just a table in RAM describing which devices are present, their capabilities and their offsets in MMIO space. This could have been done with a special new firmware table on this platform, but given that we do have some real PCI devices too, simply describing things in an MCFG type space was pretty simple. Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> LKML-Reference: <43F901BD926A4E43B106BF17856F07559FB80D08@orsmsx508.amr.corp.intel.com> Signed-off-by: Jacob Pan <jacob.jun.pan@intel.com> Signed-off-by: H. Peter Anvin <hpa@zytor.com> |
||
---|---|---|
.. | ||
acpi.c | ||
amd_bus.c | ||
bus_numa.c | ||
bus_numa.h | ||
common.c | ||
direct.c | ||
early.c | ||
fixup.c | ||
i386.c | ||
init.c | ||
irq.c | ||
legacy.c | ||
Makefile | ||
mmconfig_32.c | ||
mmconfig_64.c | ||
mmconfig-shared.c | ||
mrst.c | ||
numaq_32.c | ||
olpc.c | ||
pcbios.c | ||
visws.c |