Schauer, Dwight
2010-Aug-05 19:38 UTC
[syslinux] Accessing memory PCI config space from a com32 module
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? Sincerely, Dwight Schauer Software Engineer Consumer & Computing Interface Texas Instruments Incorporated Email: dschauer at ti.com Phone: (214) 567-5695 Mobile: (903) 806-5737
Geert Stappers
2010-Aug-05 20:43 UTC
[syslinux] Accessing memory PCI config space from a com32 module
Op 20100805 om 14:38 schreef Schauer, Dwight:> > 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?FWIW When I saw 'PCI' and 'COM32' did came "lua.c32" to mind. hth GSt
H. Peter Anvin
2010-Aug-05 20:53 UTC
[syslinux] Accessing memory PCI config space from a com32 module
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
Seemingly Similar Threads
- Scientific Linux, Centos, Fedora, etc without grub (only extlinux)
- gpt and extlinux how to get it bootable?
- Samba 4.1.6 and 4.1.7 Kerberos problem on Debian Linux
- Nouveau on GeForce GTX 980M
- Samba 3.0.14 and w2k3 terminal server / strange logon problem / is this in general possible