On 07/24/14 18:20, Andrew Fish wrote:
On Jul 24, 2014, at 6:56 AM, Varad Gautam <varadgautam@gmail.com mailto:varadgautam@gmail.com> wrote:
On Thu, Jul 24, 2014 at 12:51 AM, Andrew Fish <afish@apple.com mailto:afish@apple.com> wrote:
What is the value for _PCD_GET_MODE_32_##TokenName in the autogen of the module where the 0 is returned? Is it calling LibPcdGet32() or does it point to the global?
_PCD_GET_MODE_32_##TokenName is #defined to the appropriate _gPcd_FixedAtBuild_##TokenName in AutoGen.h of my module. LibPcdGet32() is not called. The same module's AutoGen.i contains const UINT32 _gPcd_FixedAtBuild_##TokenName = <right_pcd_value>;
But when I check the value of _gPcd_FixedAtBuild_##TokenName from my module, it always shows as 0.
AutoGen.i? Is this code assembly? If so you should look at the *.iii as that is the post processed version that gets sent to assembler. There is a tool to trim out code that is not compatible with the assembler, so it would be good to check that something is not going on in that step.
(Maybe side issue, maybe relevant:)
Interesting. I tried to use fixed PCDs in ASL source code, *after* BaseTools had reportedly grown support for that. Unfortunately, my attempt failed, and I got no effective advice after I reported it.
http://thread.gmane.org/gmane.comp.bios.tianocore.devel/7416/focus=7587
Perhaps this is a basetools problem then?
Thanks Laszlo