TAB_PCDS_DYNAMIC_EX_HII : '',\r
}\r
\r
-## Dynamic PCD types\r
-gDynamicPcd = [TAB_PCDS_DYNAMIC, TAB_PCDS_DYNAMIC_DEFAULT, TAB_PCDS_DYNAMIC_VPD, TAB_PCDS_DYNAMIC_HII]\r
-\r
-## Dynamic-ex PCD types\r
-gDynamicExPcd = [TAB_PCDS_DYNAMIC_EX, TAB_PCDS_DYNAMIC_EX_DEFAULT, TAB_PCDS_DYNAMIC_EX_VPD, TAB_PCDS_DYNAMIC_EX_HII]\r
\r
## Datum size\r
gDatumSizeStringDatabase = {TAB_UINT8:'8',TAB_UINT16:'16',TAB_UINT32:'32',TAB_UINT64:'64','BOOLEAN':'BOOLEAN',TAB_VOID:'8'}\r
# Even it is the Library, the PCD is saved in the ModulePcdList\r
PcdList = Info.ModulePcdList\r
for Pcd in PcdList:\r
- if Pcd.Type in gDynamicExPcd:\r
+ if Pcd.Type in PCD_DYNAMIC_EX_TYPE_SET:\r
ExTokenCNameList.append(Pcd.TokenCName)\r
PcdExList.append(Pcd)\r
if len(ExTokenCNameList) == 0:\r
if (Pcd.TokenCName, Pcd.TokenSpaceGuidCName) in GlobalData.MixedPcd[PcdItem]:\r
RealTokenCName = PcdItem[0]\r
break\r
- if Pcd.Type in gDynamicExPcd and Pcd.TokenCName == TokenCName:\r
+ if Pcd.Type in PCD_DYNAMIC_EX_TYPE_SET and Pcd.TokenCName == TokenCName:\r
Index = Index + 1\r
if Index == 1:\r
AutoGenH.Append('\n#define __PCD_%s_VAL_CMP(GuidPtr) (' % (RealTokenCName))\r
if Pcd.PcdValueFromComm:\r
Pcd.DefaultValue = Pcd.PcdValueFromComm\r
\r
- if Pcd.Type in gDynamicExPcd:\r
+ if Pcd.Type in PCD_DYNAMIC_EX_TYPE_SET:\r
TokenNumber = int(Pcd.TokenValue, 0)\r
# Add TokenSpaceGuidValue value to PcdTokenName to discriminate the DynamicEx PCDs with \r
# different Guids but same TokenCName\r
# will not be added into the Database unless it is used by other modules that are \r
# included in the FDF file. \r
# In this case, just assign an invalid token number to make it pass build.\r
- if Pcd.Type in PCD_DYNAMIC_TYPE_LIST:\r
+ if Pcd.Type in PCD_DYNAMIC_TYPE_SET:\r
TokenNumber = 0\r
else:\r
EdkLogger.error("build", AUTOGEN_ERROR,\r
SetModeStatusName = '_PCD_SET_MODE_' + gDatumSizeStringDatabaseH[Pcd.DatumType] + '_S_' + TokenCName if Pcd.DatumType in gDatumSizeStringDatabaseH else '_PCD_SET_MODE_' + gDatumSizeStringDatabaseH[TAB_VOID] + '_S_' + TokenCName\r
GetModeSizeName = '_PCD_GET_MODE_SIZE' + '_' + TokenCName\r
\r
- if Pcd.Type in gDynamicExPcd:\r
+ if Pcd.Type in PCD_DYNAMIC_EX_TYPE_SET:\r
if Info.IsLibrary:\r
PcdList = Info.LibraryPcdList\r
else:\r
PcdList = Info.ModulePcdList\r
PcdExCNameTest = 0\r
for PcdModule in PcdList:\r
- if PcdModule.Type in gDynamicExPcd and Pcd.TokenCName == PcdModule.TokenCName:\r
+ if PcdModule.Type in PCD_DYNAMIC_EX_TYPE_SET and Pcd.TokenCName == PcdModule.TokenCName:\r
PcdExCNameTest += 1\r
# get out early once we found > 1...\r
if PcdExCNameTest > 1:\r
else:\r
AutoGenH.Append('#define %s(Value) LibPcdSetEx%s(&%s, %s, (Value))\n' % (SetModeName, DatumSizeLib, Pcd.TokenSpaceGuidCName, PcdTokenName))\r
AutoGenH.Append('#define %s(Value) LibPcdSetEx%sS(&%s, %s, (Value))\n' % (SetModeStatusName, DatumSizeLib, Pcd.TokenSpaceGuidCName, PcdTokenName))\r
- elif Pcd.Type in gDynamicPcd:\r
+ elif Pcd.Type in PCD_DYNAMIC_TYPE_SET:\r
PcdCNameTest = 0\r
for PcdModule in Info.LibraryPcdList + Info.ModulePcdList:\r
- if PcdModule.Type in gDynamicPcd and Pcd.TokenCName == PcdModule.TokenCName:\r
+ if PcdModule.Type in PCD_DYNAMIC_TYPE_SET and Pcd.TokenCName == PcdModule.TokenCName:\r
PcdCNameTest += 1\r
# get out early once we found > 1...\r
if PcdCNameTest > 1:\r
#\r
# Write PCDs\r
#\r
- if Pcd.Type in gDynamicExPcd:\r
+ if Pcd.Type in PCD_DYNAMIC_EX_TYPE_SET:\r
TokenNumber = int(Pcd.TokenValue, 0)\r
else:\r
if (Pcd.TokenCName, Pcd.TokenSpaceGuidCName) not in PcdTokenNumber:\r
# will not be added into the Database unless it is used by other modules that are \r
# included in the FDF file. \r
# In this case, just assign an invalid token number to make it pass build.\r
- if Pcd.Type in PCD_DYNAMIC_TYPE_LIST:\r
+ if Pcd.Type in PCD_DYNAMIC_TYPE_SET:\r
TokenNumber = 0\r
else:\r
EdkLogger.error("build", AUTOGEN_ERROR,\r
Type = '(VOID *)'\r
Array = '[]'\r
PcdItemType = Pcd.Type\r
- if PcdItemType in gDynamicExPcd:\r
+ if PcdItemType in PCD_DYNAMIC_EX_TYPE_SET:\r
PcdExTokenName = '_PCD_TOKEN_' + TokenSpaceGuidCName + '_' + TokenCName\r
AutoGenH.Append('\n#define %s %dU\n' % (PcdExTokenName, TokenNumber))\r
\r
PcdList = Info.ModulePcdList\r
PcdExCNameTest = 0\r
for PcdModule in PcdList:\r
- if PcdModule.Type in gDynamicExPcd and Pcd.TokenCName == PcdModule.TokenCName:\r
+ if PcdModule.Type in PCD_DYNAMIC_EX_TYPE_SET and Pcd.TokenCName == PcdModule.TokenCName:\r
PcdExCNameTest += 1\r
# get out early once we found > 1...\r
if PcdExCNameTest > 1:\r
AutoGenH.Append('#define %s(Value) LibPcdSetEx%sS(&%s, %s, (Value))\n' % (SetModeStatusName, DatumSizeLib, Pcd.TokenSpaceGuidCName, PcdTokenName))\r
else:\r
AutoGenH.Append('#define _PCD_TOKEN_%s %dU\n' % (TokenCName, TokenNumber))\r
- if PcdItemType in gDynamicPcd:\r
+ if PcdItemType in PCD_DYNAMIC_TYPE_SET:\r
PcdList = []\r
PcdCNameList = []\r
PcdList.extend(Info.LibraryPcdList)\r
PcdList.extend(Info.ModulePcdList)\r
for PcdModule in PcdList:\r
- if PcdModule.Type in gDynamicPcd:\r
+ if PcdModule.Type in PCD_DYNAMIC_TYPE_SET:\r
PcdCNameList.append(PcdModule.TokenCName)\r
if PcdCNameList.count(Pcd.TokenCName) > 1:\r
EdkLogger.error("build", AUTOGEN_ERROR, "More than one Dynamic Pcds [%s] are different Guids but same CName.They need to be changed to DynamicEx type to avoid the confliction.\n" % (TokenCName), ExtraData="[%s]" % str(Info.MetaFile.Path))\r
# Collect Token Space GUIDs used by DynamicEc PCDs\r
TokenSpaceList = []\r
for Pcd in Info.ModulePcdList:\r
- if Pcd.Type in gDynamicExPcd and Pcd.TokenSpaceGuidCName not in TokenSpaceList:\r
+ if Pcd.Type in PCD_DYNAMIC_EX_TYPE_SET and Pcd.TokenSpaceGuidCName not in TokenSpaceList:\r
TokenSpaceList += [Pcd.TokenSpaceGuidCName]\r
\r
SkuMgr = Info.Workspace.Platform.SkuIdMgr\r