Hi, I am working on the BeagleBoneBlack port for EDK2 and am facing an
issue with
PcdGet(): it always returns `0` no matter what the PCD is set to. However,
FixedPcdGet() works fine (I've had to patch edk2 to replace all PcdGet
calls with
FixedPcdGet to get PrePi working which is a bad idea).

The build report too shows the PCDs being set to their proper values,
and so do the
AutoGen.i file macros like `const UINT32 _gPcd_FixedAtBuild_PcdFvBaseAddress
= 0x80008000U;`

I've come up with two reasons to this,
* Is there a build flag I'm missing to enable PcdGet support?
* `_gPcd_FixedAtBuild_PcdFvBaseAddress` is declared with
`GLOBAL_REMOVE_IF_UNREFERENCED` in AutoGen.c and gets removed before
I can use it. This also explains why FixedPcdGet would work, since
`_PCD_VALUE_PcdFvBaseAddress` is correctly #defined to be  0x80008000U.

This happens for all fixed-at-build type PCDs. Also, I'm linked to
PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf for the buid. What could
I try to fix it?

Thanks,
Varad

------------------------------------------------------------------------------
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to