Re: UefiPayloadPkg: assert error in PeiPcdLib


King Sumo
 

On Fri, Aug 20, 2021 at 04:52 PM, Andrew Fish wrote:


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?
Yes, it works. Moved from PcdsDynamicDefault to PcdsFixedAtBuild and added hardcoded values.
I think Ray Ni <ray.ni@intel.com> must be contacted to provide a fix...
The build is done using:
build -a IA32 -a X64 -p UefiPayloadPkg/UefiPayloadPkg.dsc -b DEBUG -t GCC5 -D BOOTLOADER=COREBOOT
(IA32 is also required for coreboot)

Perhaps the issue is related to the IA32 target? Calling PcdSet64S() is allowed?
./UefiPayloadPkg/BlSupportDxe/BlSupportDxe.c:
if (GuidHob != NULL) {
AcpiBoardInfo = (ACPI_BOARD_INFO *)GET_GUID_HOB_DATA (GuidHob);
Status = PcdSet64S (PcdPciExpressBaseAddress, AcpiBoardInfo->PcieBaseAddress);
ASSERT_EFI_ERROR (Status);
Status = PcdSet64S (PcdPciExpressBaseSize, AcpiBoardInfo->PcieBaseSize);
ASSERT_EFI_ERROR (Status);
}

Thanks,
Sumo

Join discuss@edk2.groups.io to automatically receive all group messages.