[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