PatchPcdSizeVariableName = '_gPcd_BinaryPatch_Size_' + TokenCName\r
FixPcdSizeTokenName = '_PCD_SIZE_' + TokenCName\r
\r
- if GlobalData.BuildOptionPcd:\r
- for PcdItem in GlobalData.BuildOptionPcd:\r
- if (Pcd.TokenSpaceGuidCName, TokenCName) == (PcdItem[0], PcdItem[1]):\r
- Pcd.DefaultValue = PcdItem[2]\r
- break\r
+ if Pcd.PcdValueFromComm:\r
+ Pcd.DefaultValue = Pcd.PcdValueFromComm\r
\r
if Pcd.Type in gDynamicExPcd:\r
TokenNumber = int(Pcd.TokenValue, 0)\r
\r
if Pcd.DatumType in ['UINT64', 'UINT32', 'UINT16', 'UINT8']:\r
try:\r
+ if Value.upper().endswith('L'):\r
+ Value = Value[:-1]\r
if Value.upper().startswith('0X'):\r
ValueNumber = int (Value, 16)\r
else:\r
PatchPcdSizeTokenName = '_PCD_PATCHABLE_' + TokenCName +'_SIZE'\r
PatchPcdSizeVariableName = '_gPcd_BinaryPatch_Size_' + TokenCName\r
\r
- if GlobalData.BuildOptionPcd:\r
- for PcdItem in GlobalData.BuildOptionPcd:\r
- if (Pcd.TokenSpaceGuidCName, TokenCName) == (PcdItem[0], PcdItem[1]):\r
- Pcd.DefaultValue = PcdItem[2]\r
- break\r
-\r
+ if Pcd.PcdValueFromComm:\r
+ Pcd.DefaultValue = Pcd.PcdValueFromComm\r
#\r
# Write PCDs\r
#\r
if Pcd.Type in gDynamicExPcd and Pcd.TokenSpaceGuidCName not in TokenSpaceList:\r
TokenSpaceList += [Pcd.TokenSpaceGuidCName]\r
\r
+ SkuMgr = Info.Workspace.Platform.SkuIdMgr\r
+ AutoGenH.Append("\n// Definition of SkuId Array\n")\r
+ AutoGenH.Append("extern UINT64 _gPcd_SkuId_Array[];\n")\r
# Add extern declarations to AutoGen.h if one or more Token Space GUIDs were found\r
if TokenSpaceList <> []: \r
AutoGenH.Append("\n// Definition of PCD Token Space GUIDs used in this module\n\n")\r
CreateLibraryPcdCode(Info, AutoGenC, AutoGenH, Pcd)\r
DynExPcdTokenNumberMapping (Info, AutoGenH)\r
else:\r
+ AutoGenC.Append("\n// Definition of SkuId Array\n")\r
+ AutoGenC.Append("GLOBAL_REMOVE_IF_UNREFERENCED UINT64 _gPcd_SkuId_Array[] = %s;\n" % SkuMgr.DumpSkuIdArrary())\r
if Info.ModulePcdList:\r
AutoGenH.Append("\n// Definition of PCDs used in this module\n")\r
AutoGenC.Append("\n// Definition of PCDs used in this module\n")\r