> On May 5, 2015, at 1:16 PM, Duran, Leo <leo.du...@amd.com> wrote:
> 
> Thanks Tim & Andrew.
> 

The PCD lingo can be a confusing. 

> 1) The .DEC file declares the PCD as:
> [PcdsFixedAtBuild.common, PcdsDynamic.common, PcdsPatchableInModule.common]
> 

The .DEC declares the existence of the PCD and the mappings that are legal. It 
also contains a default value that is used if it is not set in the platform 
.DSC file. 

The INF file really matches the form of the library APIs that are used. It is 
usually best to use the PCD from that is generic. Basically let the .DSC file 
pick the form. You can also add an optional default, it overrides the one in 
the .DEC file

> 2) As suggested, in my .DSC file I define it as:
> [PcdsDynamicDefault.common]
> 
> 3) But now (at PEIM init-time), when I invoke PcdSet64 () I get an ASSERT ... 
> PcdLib.c(131)
> 

If your DSC points at 
https://svn.code.sf.net/p/edk2/code/trunk/edk2/MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
 you are going to ASSERT when you try to make the library calls. You need to 
point at 
https://svn.code.sf.net/p/edk2/code/trunk/edk2/MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
 that will depend on a PPI published by this PEIM 
https://svn.code.sf.net/p/edk2/code/trunk/edk2/MdeModulePkg/Universal/PCD/Pei/

The flexibility in the edk2 can be confusing. I find it useful to make the 
build.exe command generate a log file. 
  -y REPORTFILE, --report-file=REPORTFILE
                        Create/overwrite the report to the specified filename.
  -Y REPORTTYPE, --report-type=REPORTTYPE
                        Flags that control the type of build report to
                        generate.  Must be one of: [PCD, LIBRARY, FLASH,
                        DEPEX, BUILD_FLAGS, FIXED_ADDRESS, EXECUTION_ORDER].
                        To specify more than one flag, repeat this option on
                        the command line and the default flag set is [PCD,
                        LIBRARY, FLASH, DEPEX, BUILD_FLAGS, FIXED_ADDRESS]

 The log file will show you a global view of what the PCDs got set to, and a 
per driver view. It will also show the set of specific libraries linked into a 
module. 

Thanks,

Andrew Fish


> Anyway, it seems like I've done the proper declaration (.DSC file wise)
> Thanks again for the feedback.

------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to