I have located RSDP by searching the valid string.
I know the table contains a pointer direct me to XSDT.
However, I compared the "Length" and the entries in XSDT, only FACP, APIC, SSDT tables are located.
Does this mean that the system does not contain MCFG table?
Therefore I can not using memory map to access PCIe configuration space?
Thanks a lot!
MCFG is not a part of ACPI specification. The table is described in the PCI Firmware specification document.
Section 2.7.2 states
The ACPI MCFG table describes the location of the PCI Express configuration space, and this table will be present in a firmware implementation compliant to this specification version 3.0 (or later).
So, it means your firmware is not compliant to the PCI firmware specification v3.0 or later.
Reading further the section 4.1 about ECAM
On PC-compatible systems, the enhanced configuration access mechanism allows PCI configuration space to be accessed using memory primitives rather than I/O-based primitives (CF8/CFC mechanism).
So, it means in your case, if you are talking about PC-compatible systems, that only type 1 (CF8/CFC) access to the PCI configuration space is available (you may not reach space beyond 256 bytes).
Of course it may be just a bug in firmware that for some reason forgot to describe it. On x86 you may try to access traditional ECAM window (starting from 0xE0000000) and check if it works (be sure the memory region is marked as reserved in the OS).