[syslinux] Accessing memory PCI config space from a com32 module
H. Peter Anvin
hpa at zytor.com
Thu Aug 5 13:53:18 PDT 2010
On 08/05/2010 12:38 PM, Schauer, Dwight wrote:
>
> I need to do PCIe memory mapped configuration space access from a com32 module. (ECAM, memory mapped, not CAM, which uses I/O port access).
>
> I know how to find the base address to the config space in Linux and use ECAM to access configuration registers.
>
> com32/lib/pci does not use ECAM.
>
> In Linux the region for ECAM is referred to as PCI MMCONFIG. (often shows up as e0000000-efffffff, see /proc/iomem)
>
> Any ideas as to how to get the ECAM base address from a COM32 module?
>
The only proper way you can find the MMCONFIG base address is to search
the ACPI tables for an MCFG table -- see the PCI Firmware Specification.
You can look in com32/sysdump for code that enumerates the ACPI tables.
-hpa
More information about the Syslinux
mailing list