On Aug 20, 2021, at 2:18 PM, King Sumo <email@example.com> wrote:There is “build magic”(TM) around PCDs. There are different flavors of PCDs. PCDs can be build constants or looked up from a central database. The ASSERT is from the code trying to look something up. What flavor a PCD has is controlled by the platform build, so DSC file.
In yoru hash…
It looks like a PCD may have moved from a fixed at build (compile type constant) to something that needs to get looked up in the PCD database.
That PPI is usually produced by this PIEM:
Your ASSERT() is basically the above PEIM is missing.
If you move gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress back to being a compile time constant (location in the DSC file matters) that might get you past your ASSERT as a work around?