mirror of https://github.com/acidanthera/audk.git
BaseTools: DataType - cleanup list constants
remove unused ones convert lists used for membership testing to sets use shared ones not local ones Cc: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Jaben Carsey <jaben.carsey@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
This commit is contained in:
parent
0c60e60b18
commit
eece4292ac
|
@ -507,8 +507,8 @@ class WorkspaceAutoGen(AutoGen):
|
|||
if (BuildData.Pcds[key].TokenCName, BuildData.Pcds[key].TokenSpaceGuidCName) == SinglePcd:
|
||||
for item in GlobalData.MixedPcd[SinglePcd]:
|
||||
Pcd_Type = item[0].split('_')[-1]
|
||||
if (Pcd_Type == BuildData.Pcds[key].Type) or (Pcd_Type == TAB_PCDS_DYNAMIC_EX and BuildData.Pcds[key].Type in GenC.gDynamicExPcd) or \
|
||||
(Pcd_Type == TAB_PCDS_DYNAMIC and BuildData.Pcds[key].Type in GenC.gDynamicPcd):
|
||||
if (Pcd_Type == BuildData.Pcds[key].Type) or (Pcd_Type == TAB_PCDS_DYNAMIC_EX and BuildData.Pcds[key].Type in PCD_DYNAMIC_EX_TYPE_SET) or \
|
||||
(Pcd_Type == TAB_PCDS_DYNAMIC and BuildData.Pcds[key].Type in PCD_DYNAMIC_TYPE_SET):
|
||||
Value = BuildData.Pcds[key]
|
||||
Value.TokenCName = BuildData.Pcds[key].TokenCName + '_' + Pcd_Type
|
||||
if len(key) == 2:
|
||||
|
@ -1362,8 +1362,8 @@ class PlatformAutoGen(AutoGen):
|
|||
if (self.Platform.Pcds[key].TokenCName, self.Platform.Pcds[key].TokenSpaceGuidCName) == SinglePcd:
|
||||
for item in GlobalData.MixedPcd[SinglePcd]:
|
||||
Pcd_Type = item[0].split('_')[-1]
|
||||
if (Pcd_Type == self.Platform.Pcds[key].Type) or (Pcd_Type == TAB_PCDS_DYNAMIC_EX and self.Platform.Pcds[key].Type in GenC.gDynamicExPcd) or \
|
||||
(Pcd_Type == TAB_PCDS_DYNAMIC and self.Platform.Pcds[key].Type in GenC.gDynamicPcd):
|
||||
if (Pcd_Type == self.Platform.Pcds[key].Type) or (Pcd_Type == TAB_PCDS_DYNAMIC_EX and self.Platform.Pcds[key].Type in PCD_DYNAMIC_EX_TYPE_SET) or \
|
||||
(Pcd_Type == TAB_PCDS_DYNAMIC and self.Platform.Pcds[key].Type in PCD_DYNAMIC_TYPE_SET):
|
||||
Value = self.Platform.Pcds[key]
|
||||
Value.TokenCName = self.Platform.Pcds[key].TokenCName + '_' + Pcd_Type
|
||||
if len(key) == 2:
|
||||
|
@ -1403,7 +1403,7 @@ class PlatformAutoGen(AutoGen):
|
|||
# Check the PCD from DSC or not
|
||||
PcdFromModule.IsFromDsc = (PcdFromModule.TokenCName, PcdFromModule.TokenSpaceGuidCName) in self.Platform.Pcds
|
||||
|
||||
if PcdFromModule.Type in GenC.gDynamicPcd or PcdFromModule.Type in GenC.gDynamicExPcd:
|
||||
if PcdFromModule.Type in PCD_DYNAMIC_TYPE_SET or PcdFromModule.Type in PCD_DYNAMIC_EX_TYPE_SET:
|
||||
if F.Path not in FdfModuleList:
|
||||
# If one of the Source built modules listed in the DSC is not listed
|
||||
# in FDF modules, and the INF lists a PCD can only use the PcdsDynamic
|
||||
|
@ -1413,7 +1413,7 @@ class PlatformAutoGen(AutoGen):
|
|||
# be included in a flash image in order to be functional. These Dynamic
|
||||
# PCD will not be added into the Database unless it is used by other
|
||||
# modules that are included in the FDF file.
|
||||
if PcdFromModule.Type in GenC.gDynamicPcd and \
|
||||
if PcdFromModule.Type in PCD_DYNAMIC_TYPE_SET and \
|
||||
PcdFromModule.IsFromBinaryInf == False:
|
||||
# Print warning message to let the developer make a determine.
|
||||
continue
|
||||
|
@ -1422,7 +1422,7 @@ class PlatformAutoGen(AutoGen):
|
|||
# access method (it is only listed in the DEC file that declares the
|
||||
# PCD as PcdsDynamicEx), then DO NOT break the build; DO NOT add the
|
||||
# PCD to the Platform's PCD Database.
|
||||
if PcdFromModule.Type in GenC.gDynamicExPcd:
|
||||
if PcdFromModule.Type in PCD_DYNAMIC_EX_TYPE_SET:
|
||||
continue
|
||||
#
|
||||
# If a dynamic PCD used by a PEM module/PEI module & DXE module,
|
||||
|
@ -1464,7 +1464,7 @@ class PlatformAutoGen(AutoGen):
|
|||
PcdFromModule.IsFromBinaryInf = True
|
||||
PcdFromModule.IsFromDsc = False
|
||||
# Only allow the DynamicEx and Patchable PCD in AsBuild INF
|
||||
if PcdFromModule.Type not in GenC.gDynamicExPcd and PcdFromModule.Type not in TAB_PCDS_PATCHABLE_IN_MODULE:
|
||||
if PcdFromModule.Type not in PCD_DYNAMIC_EX_TYPE_SET and PcdFromModule.Type not in TAB_PCDS_PATCHABLE_IN_MODULE:
|
||||
EdkLogger.error("build", AUTOGEN_ERROR, "PCD setting error",
|
||||
File=self.MetaFile,
|
||||
ExtraData="\n\tExisted %s PCD %s in:\n\t\t%s\n"
|
||||
|
@ -1474,11 +1474,11 @@ class PlatformAutoGen(AutoGen):
|
|||
NoDatumTypePcdList.add("%s.%s [%s]" % (PcdFromModule.TokenSpaceGuidCName, PcdFromModule.TokenCName, InfName))
|
||||
if M.ModuleType in SUP_MODULE_SET_PEI:
|
||||
PcdFromModule.Phase = "PEI"
|
||||
if PcdFromModule not in self._DynaPcdList_ and PcdFromModule.Type in GenC.gDynamicExPcd:
|
||||
if PcdFromModule not in self._DynaPcdList_ and PcdFromModule.Type in PCD_DYNAMIC_EX_TYPE_SET:
|
||||
self._DynaPcdList_.append(PcdFromModule)
|
||||
elif PcdFromModule not in self._NonDynaPcdList_ and PcdFromModule.Type in TAB_PCDS_PATCHABLE_IN_MODULE:
|
||||
self._NonDynaPcdList_.append(PcdFromModule)
|
||||
if PcdFromModule in self._DynaPcdList_ and PcdFromModule.Phase == 'PEI' and PcdFromModule.Type in GenC.gDynamicExPcd:
|
||||
if PcdFromModule in self._DynaPcdList_ and PcdFromModule.Phase == 'PEI' and PcdFromModule.Type in PCD_DYNAMIC_EX_TYPE_SET:
|
||||
# Overwrite the phase of any the same PCD existing, if Phase is PEI.
|
||||
# It is to solve the case that a dynamic PCD used by a PEM module/PEI
|
||||
# module & DXE module at a same time.
|
||||
|
@ -2065,28 +2065,28 @@ class PlatformAutoGen(AutoGen):
|
|||
#
|
||||
for Pcd in self.DynamicPcdList:
|
||||
if Pcd.Phase == "PEI":
|
||||
if Pcd.Type in [TAB_PCDS_DYNAMIC, "DynamicDefault", "DynamicVpd", "DynamicHii"]:
|
||||
if Pcd.Type in PCD_DYNAMIC_TYPE_SET:
|
||||
EdkLogger.debug(EdkLogger.DEBUG_5, "%s %s (%s) -> %d" % (Pcd.TokenCName, Pcd.TokenSpaceGuidCName, Pcd.Phase, TokenNumber))
|
||||
self._PcdTokenNumber[Pcd.TokenCName, Pcd.TokenSpaceGuidCName] = TokenNumber
|
||||
TokenNumber += 1
|
||||
|
||||
for Pcd in self.DynamicPcdList:
|
||||
if Pcd.Phase == "PEI":
|
||||
if Pcd.Type in [TAB_PCDS_DYNAMIC_EX, "DynamicExDefault", "DynamicExVpd", "DynamicExHii"]:
|
||||
if Pcd.Type in PCD_DYNAMIC_EX_TYPE_SET:
|
||||
EdkLogger.debug(EdkLogger.DEBUG_5, "%s %s (%s) -> %d" % (Pcd.TokenCName, Pcd.TokenSpaceGuidCName, Pcd.Phase, TokenNumber))
|
||||
self._PcdTokenNumber[Pcd.TokenCName, Pcd.TokenSpaceGuidCName] = TokenNumber
|
||||
TokenNumber += 1
|
||||
|
||||
for Pcd in self.DynamicPcdList:
|
||||
if Pcd.Phase == "DXE":
|
||||
if Pcd.Type in [TAB_PCDS_DYNAMIC, "DynamicDefault", "DynamicVpd", "DynamicHii"]:
|
||||
if Pcd.Type in PCD_DYNAMIC_TYPE_SET:
|
||||
EdkLogger.debug(EdkLogger.DEBUG_5, "%s %s (%s) -> %d" % (Pcd.TokenCName, Pcd.TokenSpaceGuidCName, Pcd.Phase, TokenNumber))
|
||||
self._PcdTokenNumber[Pcd.TokenCName, Pcd.TokenSpaceGuidCName] = TokenNumber
|
||||
TokenNumber += 1
|
||||
|
||||
for Pcd in self.DynamicPcdList:
|
||||
if Pcd.Phase == "DXE":
|
||||
if Pcd.Type in [TAB_PCDS_DYNAMIC_EX, "DynamicExDefault", "DynamicExVpd", "DynamicExHii"]:
|
||||
if Pcd.Type in PCD_DYNAMIC_EX_TYPE_SET:
|
||||
EdkLogger.debug(EdkLogger.DEBUG_5, "%s %s (%s) -> %d" % (Pcd.TokenCName, Pcd.TokenSpaceGuidCName, Pcd.Phase, TokenNumber))
|
||||
self._PcdTokenNumber[Pcd.TokenCName, Pcd.TokenSpaceGuidCName] = TokenNumber
|
||||
TokenNumber += 1
|
||||
|
@ -2382,7 +2382,7 @@ class PlatformAutoGen(AutoGen):
|
|||
ToPcd.MaxDatumSize = str(len(Value) - 1)
|
||||
|
||||
# apply default SKU for dynamic PCDS if specified one is not available
|
||||
if (ToPcd.Type in PCD_DYNAMIC_TYPE_LIST or ToPcd.Type in PCD_DYNAMIC_EX_TYPE_LIST) \
|
||||
if (ToPcd.Type in PCD_DYNAMIC_TYPE_SET or ToPcd.Type in PCD_DYNAMIC_EX_TYPE_SET) \
|
||||
and ToPcd.SkuInfoList in [None, {}, '']:
|
||||
if self.Platform.SkuName in self.Platform.SkuIds:
|
||||
SkuName = self.Platform.SkuName
|
||||
|
@ -3931,7 +3931,7 @@ class ModuleAutoGen(AutoGen):
|
|||
if Pcd.Type == TAB_PCDS_PATCHABLE_IN_MODULE:
|
||||
PatchablePcds += [Pcd]
|
||||
PcdCheckList.append((Pcd.TokenCName, Pcd.TokenSpaceGuidCName, TAB_PCDS_PATCHABLE_IN_MODULE))
|
||||
elif Pcd.Type in GenC.gDynamicExPcd:
|
||||
elif Pcd.Type in PCD_DYNAMIC_EX_TYPE_SET:
|
||||
if Pcd not in Pcds:
|
||||
Pcds += [Pcd]
|
||||
PcdCheckList.append((Pcd.TokenCName, Pcd.TokenSpaceGuidCName, TAB_PCDS_DYNAMIC_EX))
|
||||
|
|
|
@ -41,11 +41,6 @@ gItemTypeStringDatabase = {
|
|||
TAB_PCDS_DYNAMIC_EX_HII : '',
|
||||
}
|
||||
|
||||
## Dynamic PCD types
|
||||
gDynamicPcd = [TAB_PCDS_DYNAMIC, TAB_PCDS_DYNAMIC_DEFAULT, TAB_PCDS_DYNAMIC_VPD, TAB_PCDS_DYNAMIC_HII]
|
||||
|
||||
## Dynamic-ex PCD types
|
||||
gDynamicExPcd = [TAB_PCDS_DYNAMIC_EX, TAB_PCDS_DYNAMIC_EX_DEFAULT, TAB_PCDS_DYNAMIC_EX_VPD, TAB_PCDS_DYNAMIC_EX_HII]
|
||||
|
||||
## Datum size
|
||||
gDatumSizeStringDatabase = {TAB_UINT8:'8',TAB_UINT16:'16',TAB_UINT32:'32',TAB_UINT64:'64','BOOLEAN':'BOOLEAN',TAB_VOID:'8'}
|
||||
|
@ -802,7 +797,7 @@ def DynExPcdTokenNumberMapping(Info, AutoGenH):
|
|||
# Even it is the Library, the PCD is saved in the ModulePcdList
|
||||
PcdList = Info.ModulePcdList
|
||||
for Pcd in PcdList:
|
||||
if Pcd.Type in gDynamicExPcd:
|
||||
if Pcd.Type in PCD_DYNAMIC_EX_TYPE_SET:
|
||||
ExTokenCNameList.append(Pcd.TokenCName)
|
||||
PcdExList.append(Pcd)
|
||||
if len(ExTokenCNameList) == 0:
|
||||
|
@ -848,7 +843,7 @@ def DynExPcdTokenNumberMapping(Info, AutoGenH):
|
|||
if (Pcd.TokenCName, Pcd.TokenSpaceGuidCName) in GlobalData.MixedPcd[PcdItem]:
|
||||
RealTokenCName = PcdItem[0]
|
||||
break
|
||||
if Pcd.Type in gDynamicExPcd and Pcd.TokenCName == TokenCName:
|
||||
if Pcd.Type in PCD_DYNAMIC_EX_TYPE_SET and Pcd.TokenCName == TokenCName:
|
||||
Index = Index + 1
|
||||
if Index == 1:
|
||||
AutoGenH.Append('\n#define __PCD_%s_VAL_CMP(GuidPtr) (' % (RealTokenCName))
|
||||
|
@ -921,7 +916,7 @@ def CreateModulePcdCode(Info, AutoGenC, AutoGenH, Pcd):
|
|||
if Pcd.PcdValueFromComm:
|
||||
Pcd.DefaultValue = Pcd.PcdValueFromComm
|
||||
|
||||
if Pcd.Type in gDynamicExPcd:
|
||||
if Pcd.Type in PCD_DYNAMIC_EX_TYPE_SET:
|
||||
TokenNumber = int(Pcd.TokenValue, 0)
|
||||
# Add TokenSpaceGuidValue value to PcdTokenName to discriminate the DynamicEx PCDs with
|
||||
# different Guids but same TokenCName
|
||||
|
@ -937,7 +932,7 @@ def CreateModulePcdCode(Info, AutoGenC, AutoGenH, Pcd):
|
|||
# will not be added into the Database unless it is used by other modules that are
|
||||
# included in the FDF file.
|
||||
# In this case, just assign an invalid token number to make it pass build.
|
||||
if Pcd.Type in PCD_DYNAMIC_TYPE_LIST:
|
||||
if Pcd.Type in PCD_DYNAMIC_TYPE_SET:
|
||||
TokenNumber = 0
|
||||
else:
|
||||
EdkLogger.error("build", AUTOGEN_ERROR,
|
||||
|
@ -960,14 +955,14 @@ def CreateModulePcdCode(Info, AutoGenC, AutoGenH, Pcd):
|
|||
SetModeStatusName = '_PCD_SET_MODE_' + gDatumSizeStringDatabaseH[Pcd.DatumType] + '_S_' + TokenCName if Pcd.DatumType in gDatumSizeStringDatabaseH else '_PCD_SET_MODE_' + gDatumSizeStringDatabaseH[TAB_VOID] + '_S_' + TokenCName
|
||||
GetModeSizeName = '_PCD_GET_MODE_SIZE' + '_' + TokenCName
|
||||
|
||||
if Pcd.Type in gDynamicExPcd:
|
||||
if Pcd.Type in PCD_DYNAMIC_EX_TYPE_SET:
|
||||
if Info.IsLibrary:
|
||||
PcdList = Info.LibraryPcdList
|
||||
else:
|
||||
PcdList = Info.ModulePcdList
|
||||
PcdExCNameTest = 0
|
||||
for PcdModule in PcdList:
|
||||
if PcdModule.Type in gDynamicExPcd and Pcd.TokenCName == PcdModule.TokenCName:
|
||||
if PcdModule.Type in PCD_DYNAMIC_EX_TYPE_SET and Pcd.TokenCName == PcdModule.TokenCName:
|
||||
PcdExCNameTest += 1
|
||||
# get out early once we found > 1...
|
||||
if PcdExCNameTest > 1:
|
||||
|
@ -996,10 +991,10 @@ def CreateModulePcdCode(Info, AutoGenC, AutoGenH, Pcd):
|
|||
else:
|
||||
AutoGenH.Append('#define %s(Value) LibPcdSetEx%s(&%s, %s, (Value))\n' % (SetModeName, DatumSizeLib, Pcd.TokenSpaceGuidCName, PcdTokenName))
|
||||
AutoGenH.Append('#define %s(Value) LibPcdSetEx%sS(&%s, %s, (Value))\n' % (SetModeStatusName, DatumSizeLib, Pcd.TokenSpaceGuidCName, PcdTokenName))
|
||||
elif Pcd.Type in gDynamicPcd:
|
||||
elif Pcd.Type in PCD_DYNAMIC_TYPE_SET:
|
||||
PcdCNameTest = 0
|
||||
for PcdModule in Info.LibraryPcdList + Info.ModulePcdList:
|
||||
if PcdModule.Type in gDynamicPcd and Pcd.TokenCName == PcdModule.TokenCName:
|
||||
if PcdModule.Type in PCD_DYNAMIC_TYPE_SET and Pcd.TokenCName == PcdModule.TokenCName:
|
||||
PcdCNameTest += 1
|
||||
# get out early once we found > 1...
|
||||
if PcdCNameTest > 1:
|
||||
|
@ -1225,7 +1220,7 @@ def CreateLibraryPcdCode(Info, AutoGenC, AutoGenH, Pcd):
|
|||
#
|
||||
# Write PCDs
|
||||
#
|
||||
if Pcd.Type in gDynamicExPcd:
|
||||
if Pcd.Type in PCD_DYNAMIC_EX_TYPE_SET:
|
||||
TokenNumber = int(Pcd.TokenValue, 0)
|
||||
else:
|
||||
if (Pcd.TokenCName, Pcd.TokenSpaceGuidCName) not in PcdTokenNumber:
|
||||
|
@ -1237,7 +1232,7 @@ def CreateLibraryPcdCode(Info, AutoGenC, AutoGenH, Pcd):
|
|||
# will not be added into the Database unless it is used by other modules that are
|
||||
# included in the FDF file.
|
||||
# In this case, just assign an invalid token number to make it pass build.
|
||||
if Pcd.Type in PCD_DYNAMIC_TYPE_LIST:
|
||||
if Pcd.Type in PCD_DYNAMIC_TYPE_SET:
|
||||
TokenNumber = 0
|
||||
else:
|
||||
EdkLogger.error("build", AUTOGEN_ERROR,
|
||||
|
@ -1266,7 +1261,7 @@ def CreateLibraryPcdCode(Info, AutoGenC, AutoGenH, Pcd):
|
|||
Type = '(VOID *)'
|
||||
Array = '[]'
|
||||
PcdItemType = Pcd.Type
|
||||
if PcdItemType in gDynamicExPcd:
|
||||
if PcdItemType in PCD_DYNAMIC_EX_TYPE_SET:
|
||||
PcdExTokenName = '_PCD_TOKEN_' + TokenSpaceGuidCName + '_' + TokenCName
|
||||
AutoGenH.Append('\n#define %s %dU\n' % (PcdExTokenName, TokenNumber))
|
||||
|
||||
|
@ -1276,7 +1271,7 @@ def CreateLibraryPcdCode(Info, AutoGenC, AutoGenH, Pcd):
|
|||
PcdList = Info.ModulePcdList
|
||||
PcdExCNameTest = 0
|
||||
for PcdModule in PcdList:
|
||||
if PcdModule.Type in gDynamicExPcd and Pcd.TokenCName == PcdModule.TokenCName:
|
||||
if PcdModule.Type in PCD_DYNAMIC_EX_TYPE_SET and Pcd.TokenCName == PcdModule.TokenCName:
|
||||
PcdExCNameTest += 1
|
||||
# get out early once we found > 1...
|
||||
if PcdExCNameTest > 1:
|
||||
|
@ -1307,13 +1302,13 @@ def CreateLibraryPcdCode(Info, AutoGenC, AutoGenH, Pcd):
|
|||
AutoGenH.Append('#define %s(Value) LibPcdSetEx%sS(&%s, %s, (Value))\n' % (SetModeStatusName, DatumSizeLib, Pcd.TokenSpaceGuidCName, PcdTokenName))
|
||||
else:
|
||||
AutoGenH.Append('#define _PCD_TOKEN_%s %dU\n' % (TokenCName, TokenNumber))
|
||||
if PcdItemType in gDynamicPcd:
|
||||
if PcdItemType in PCD_DYNAMIC_TYPE_SET:
|
||||
PcdList = []
|
||||
PcdCNameList = []
|
||||
PcdList.extend(Info.LibraryPcdList)
|
||||
PcdList.extend(Info.ModulePcdList)
|
||||
for PcdModule in PcdList:
|
||||
if PcdModule.Type in gDynamicPcd:
|
||||
if PcdModule.Type in PCD_DYNAMIC_TYPE_SET:
|
||||
PcdCNameList.append(PcdModule.TokenCName)
|
||||
if PcdCNameList.count(Pcd.TokenCName) > 1:
|
||||
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))
|
||||
|
@ -1693,7 +1688,7 @@ def CreatePcdCode(Info, AutoGenC, AutoGenH):
|
|||
# Collect Token Space GUIDs used by DynamicEc PCDs
|
||||
TokenSpaceList = []
|
||||
for Pcd in Info.ModulePcdList:
|
||||
if Pcd.Type in gDynamicExPcd and Pcd.TokenSpaceGuidCName not in TokenSpaceList:
|
||||
if Pcd.Type in PCD_DYNAMIC_EX_TYPE_SET and Pcd.TokenSpaceGuidCName not in TokenSpaceList:
|
||||
TokenSpaceList += [Pcd.TokenSpaceGuidCName]
|
||||
|
||||
SkuMgr = Info.Workspace.Platform.SkuIdMgr
|
||||
|
|
|
@ -1200,7 +1200,7 @@ def CreatePcdDatabasePhaseSpecificAutoGen (Platform, DynamicPcdList, Phase):
|
|||
#
|
||||
TokenSpaceGuidStructure = Pcd.TokenSpaceGuidValue
|
||||
TokenSpaceGuid = GuidStructureStringToGuidValueName(TokenSpaceGuidStructure)
|
||||
if Pcd.Type in gDynamicExPcd:
|
||||
if Pcd.Type in PCD_DYNAMIC_EX_TYPE_SET:
|
||||
if TokenSpaceGuid not in GuidList:
|
||||
GuidList += [TokenSpaceGuid]
|
||||
Dict['GUID_STRUCTURE'].append(TokenSpaceGuidStructure)
|
||||
|
@ -1568,7 +1568,7 @@ def CreatePcdDatabasePhaseSpecificAutoGen (Platform, DynamicPcdList, Phase):
|
|||
Dict['VARDEF_HEADER'][GeneratedTokenNumber] = ''
|
||||
|
||||
|
||||
if Pcd.Type in gDynamicExPcd:
|
||||
if Pcd.Type in PCD_DYNAMIC_EX_TYPE_SET:
|
||||
|
||||
if Phase == 'DXE':
|
||||
GeneratedTokenNumber += NumberOfPeiLocalTokens
|
||||
|
|
|
@ -58,8 +58,7 @@ TAB_ARCH_ARM = 'ARM'
|
|||
TAB_ARCH_EBC = 'EBC'
|
||||
TAB_ARCH_AARCH64 = 'AARCH64'
|
||||
|
||||
ARCH_LIST = [TAB_ARCH_IA32, TAB_ARCH_X64, TAB_ARCH_IPF, TAB_ARCH_ARM, TAB_ARCH_EBC, TAB_ARCH_AARCH64]
|
||||
ARCH_LIST_FULL = [TAB_ARCH_COMMON] + ARCH_LIST
|
||||
ARCH_SET_FULL = {TAB_ARCH_IA32, TAB_ARCH_X64, TAB_ARCH_IPF, TAB_ARCH_ARM, TAB_ARCH_EBC, TAB_ARCH_AARCH64, TAB_ARCH_COMMON}
|
||||
|
||||
SUP_MODULE_BASE = 'BASE'
|
||||
SUP_MODULE_SEC = 'SEC'
|
||||
|
@ -218,11 +217,8 @@ TAB_PCDS_DYNAMIC_DEFAULT = 'DynamicDefault'
|
|||
TAB_PCDS_DYNAMIC_VPD = 'DynamicVpd'
|
||||
TAB_PCDS_DYNAMIC_HII = 'DynamicHii'
|
||||
|
||||
PCD_DYNAMIC_TYPE_LIST = [TAB_PCDS_DYNAMIC, TAB_PCDS_DYNAMIC_DEFAULT, TAB_PCDS_DYNAMIC_VPD, TAB_PCDS_DYNAMIC_HII]
|
||||
PCD_DYNAMIC_EX_TYPE_LIST = [TAB_PCDS_DYNAMIC_EX, TAB_PCDS_DYNAMIC_EX_DEFAULT, TAB_PCDS_DYNAMIC_EX_VPD, TAB_PCDS_DYNAMIC_EX_HII]
|
||||
|
||||
## Dynamic-ex PCD types
|
||||
gDynamicExPcd = [TAB_PCDS_DYNAMIC_EX, TAB_PCDS_DYNAMIC_EX_DEFAULT, TAB_PCDS_DYNAMIC_EX_VPD, TAB_PCDS_DYNAMIC_EX_HII]
|
||||
PCD_DYNAMIC_TYPE_SET = {TAB_PCDS_DYNAMIC, TAB_PCDS_DYNAMIC_DEFAULT, TAB_PCDS_DYNAMIC_VPD, TAB_PCDS_DYNAMIC_HII}
|
||||
PCD_DYNAMIC_EX_TYPE_SET = {TAB_PCDS_DYNAMIC_EX, TAB_PCDS_DYNAMIC_EX_DEFAULT, TAB_PCDS_DYNAMIC_EX_VPD, TAB_PCDS_DYNAMIC_EX_HII}
|
||||
|
||||
TAB_PCDS_FIXED_AT_BUILD_NULL = TAB_PCDS + TAB_PCDS_FIXED_AT_BUILD
|
||||
TAB_PCDS_FIXED_AT_BUILD_COMMON = TAB_PCDS + TAB_PCDS_FIXED_AT_BUILD + TAB_SPLIT + TAB_ARCH_COMMON
|
||||
|
@ -275,9 +271,6 @@ TAB_PCDS_DYNAMIC_ARM = TAB_PCDS + TAB_PCDS_DYNAMIC + TAB_SPLIT + TAB_ARCH_ARM
|
|||
TAB_PCDS_DYNAMIC_EBC = TAB_PCDS + TAB_PCDS_DYNAMIC + TAB_SPLIT + TAB_ARCH_EBC
|
||||
TAB_PCDS_DYNAMIC_AARCH64 = TAB_PCDS + TAB_PCDS_DYNAMIC + TAB_SPLIT + TAB_ARCH_AARCH64
|
||||
|
||||
TAB_PCD_DYNAMIC_TYPE_LIST = [TAB_PCDS_DYNAMIC_DEFAULT_NULL, TAB_PCDS_DYNAMIC_VPD_NULL, TAB_PCDS_DYNAMIC_HII_NULL]
|
||||
TAB_PCD_DYNAMIC_EX_TYPE_LIST = [TAB_PCDS_DYNAMIC_EX_DEFAULT_NULL, TAB_PCDS_DYNAMIC_EX_VPD_NULL, TAB_PCDS_DYNAMIC_EX_HII_NULL]
|
||||
|
||||
TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_PEI_PAGE_SIZE = 'PcdLoadFixAddressPeiCodePageNumber'
|
||||
TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_PEI_PAGE_SIZE_DATA_TYPE = 'UINT32'
|
||||
TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_DXE_PAGE_SIZE = 'PcdLoadFixAddressBootTimeCodePageNumber'
|
||||
|
@ -286,10 +279,10 @@ TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_RUNTIME_PAGE_SIZE = 'PcdLoadFixAddressRuntim
|
|||
TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_RUNTIME_PAGE_SIZE_DATA_TYPE = 'UINT32'
|
||||
TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_SMM_PAGE_SIZE = 'PcdLoadFixAddressSmmCodePageNumber'
|
||||
TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_SMM_PAGE_SIZE_DATA_TYPE = 'UINT32'
|
||||
TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_LIST = [TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_PEI_PAGE_SIZE, \
|
||||
TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_SET = {TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_PEI_PAGE_SIZE, \
|
||||
TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_DXE_PAGE_SIZE, \
|
||||
TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_RUNTIME_PAGE_SIZE, \
|
||||
TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_SMM_PAGE_SIZE]
|
||||
TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_SMM_PAGE_SIZE}
|
||||
|
||||
## The mapping dictionary from datum type to its maximum number.
|
||||
MAX_VAL_TYPE = {"BOOLEAN":0x01, TAB_UINT8:0xFF, TAB_UINT16:0xFFFF, TAB_UINT32:0xFFFFFFFF, TAB_UINT64:0xFFFFFFFFFFFFFFFF}
|
||||
|
@ -487,10 +480,10 @@ TAB_UNKNOWN = 'UNKNOWN'
|
|||
DATABASE_PATH = ":memory:" #"BuildDatabase.db"
|
||||
|
||||
# used by ECC
|
||||
MODIFIER_LIST = ['IN', 'OUT', 'OPTIONAL', 'UNALIGNED', 'EFI_RUNTIMESERVICE', 'EFI_BOOTSERVICE', 'EFIAPI']
|
||||
MODIFIER_SET = {'IN', 'OUT', 'OPTIONAL', 'UNALIGNED', 'EFI_RUNTIMESERVICE', 'EFI_BOOTSERVICE', 'EFIAPI'}
|
||||
|
||||
# Dependency Expression
|
||||
DEPEX_SUPPORTED_OPCODE = ["BEFORE", "AFTER", "PUSH", "AND", "OR", "NOT", "END", "SOR", "TRUE", "FALSE", '(', ')']
|
||||
DEPEX_SUPPORTED_OPCODE_SET = {"BEFORE", "AFTER", "PUSH", "AND", "OR", "NOT", "END", "SOR", "TRUE", "FALSE", '(', ')'}
|
||||
|
||||
TAB_STATIC_LIBRARY = "STATIC-LIBRARY-FILE"
|
||||
TAB_DYNAMIC_LIBRARY = "DYNAMIC-LIBRARY-FILE"
|
||||
|
@ -522,10 +515,10 @@ PCDS_DYNAMICEX_DEFAULT = "PcdsDynamicExDefault"
|
|||
PCDS_DYNAMICEX_VPD = "PcdsDynamicExVpd"
|
||||
PCDS_DYNAMICEX_HII = "PcdsDynamicExHii"
|
||||
|
||||
SECTIONS_HAVE_ITEM_PCD = [PCDS_DYNAMIC_DEFAULT.upper(),PCDS_DYNAMIC_VPD.upper(),PCDS_DYNAMIC_HII.upper(), \
|
||||
PCDS_DYNAMICEX_DEFAULT.upper(),PCDS_DYNAMICEX_VPD.upper(),PCDS_DYNAMICEX_HII.upper()]
|
||||
SECTIONS_HAVE_ITEM_PCD_SET = {PCDS_DYNAMIC_DEFAULT.upper(),PCDS_DYNAMIC_VPD.upper(),PCDS_DYNAMIC_HII.upper(), \
|
||||
PCDS_DYNAMICEX_DEFAULT.upper(),PCDS_DYNAMICEX_VPD.upper(),PCDS_DYNAMICEX_HII.upper()}
|
||||
# Section allowed to have items after arch
|
||||
SECTIONS_HAVE_ITEM_AFTER_ARCH = [TAB_LIBRARY_CLASSES.upper(), TAB_DEPEX.upper(), TAB_USER_EXTENSIONS.upper(),
|
||||
SECTIONS_HAVE_ITEM_AFTER_ARCH_SET = {TAB_LIBRARY_CLASSES.upper(), TAB_DEPEX.upper(), TAB_USER_EXTENSIONS.upper(),
|
||||
PCDS_DYNAMIC_DEFAULT.upper(),
|
||||
PCDS_DYNAMIC_VPD.upper(),
|
||||
PCDS_DYNAMIC_HII.upper(),
|
||||
|
@ -533,4 +526,4 @@ SECTIONS_HAVE_ITEM_AFTER_ARCH = [TAB_LIBRARY_CLASSES.upper(), TAB_DEPEX.upper(),
|
|||
PCDS_DYNAMICEX_VPD.upper(),
|
||||
PCDS_DYNAMICEX_HII.upper(),
|
||||
TAB_BUILD_OPTIONS.upper(),
|
||||
TAB_INCLUDES.upper()]
|
||||
TAB_INCLUDES.upper()}
|
||||
|
|
|
@ -53,7 +53,7 @@ class Configuration(object):
|
|||
|
||||
# List customized Modifer here, split with ','
|
||||
# Defaultly use the definition in class DataType
|
||||
self.ModifierList = MODIFIER_LIST
|
||||
self.ModifierSet = MODIFIER_SET
|
||||
|
||||
## General Checking
|
||||
self.GeneralCheckAll = 0
|
||||
|
|
|
@ -830,7 +830,7 @@ def GetDataTypeFromModifier(ModifierStr):
|
|||
MList = ModifierStr.split()
|
||||
ReturnType = ''
|
||||
for M in MList:
|
||||
if M in EccGlobalData.gConfig.ModifierList:
|
||||
if M in EccGlobalData.gConfig.ModifierSet:
|
||||
continue
|
||||
# remove array sufix
|
||||
if M.startswith('[') or M.endswith(']'):
|
||||
|
|
|
@ -3580,7 +3580,7 @@ class FdfParser:
|
|||
raise Warning("expected '.'", self.FileName, self.CurrentLineNumber)
|
||||
|
||||
Arch = self.__SkippedChars.rstrip(".")
|
||||
if Arch.upper() not in ARCH_LIST_FULL:
|
||||
if Arch.upper() not in ARCH_SET_FULL:
|
||||
raise Warning("Unknown Arch '%s'" % Arch, self.FileName, self.CurrentLineNumber)
|
||||
|
||||
ModuleType = self.__GetModuleType()
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
## @file
|
||||
# process FFS generation
|
||||
#
|
||||
# Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>
|
||||
# Copyright (c) 2007-2018, Intel Corporation. All rights reserved.<BR>
|
||||
#
|
||||
# This program and the accompanying materials
|
||||
# are licensed and made available under the terms and conditions of the BSD License
|
||||
|
@ -22,24 +22,6 @@ from Common.DataType import *
|
|||
#
|
||||
#
|
||||
class Ffs(FDClassObject):
|
||||
|
||||
# mapping between MODULE type in FDF (from INF) and file type for GenFfs
|
||||
ModuleTypeToFileType = {
|
||||
SUP_MODULE_SEC : 'EFI_FV_FILETYPE_SECURITY_CORE',
|
||||
SUP_MODULE_PEI_CORE : 'EFI_FV_FILETYPE_PEI_CORE',
|
||||
SUP_MODULE_PEIM : 'EFI_FV_FILETYPE_PEIM',
|
||||
SUP_MODULE_DXE_CORE : 'EFI_FV_FILETYPE_DXE_CORE',
|
||||
SUP_MODULE_DXE_DRIVER : 'EFI_FV_FILETYPE_DRIVER',
|
||||
SUP_MODULE_DXE_SAL_DRIVER : 'EFI_FV_FILETYPE_DRIVER',
|
||||
SUP_MODULE_DXE_SMM_DRIVER : 'EFI_FV_FILETYPE_DRIVER',
|
||||
SUP_MODULE_DXE_RUNTIME_DRIVER: 'EFI_FV_FILETYPE_DRIVER',
|
||||
SUP_MODULE_UEFI_DRIVER : 'EFI_FV_FILETYPE_DRIVER',
|
||||
SUP_MODULE_UEFI_APPLICATION : 'EFI_FV_FILETYPE_APPLICATION',
|
||||
SUP_MODULE_SMM_CORE : 'EFI_FV_FILETYPE_SMM_CORE',
|
||||
SUP_MODULE_MM_STANDALONE : 'EFI_FV_FILETYPE_MM_STANDALONE',
|
||||
SUP_MODULE_MM_CORE_STANDALONE : 'EFI_FV_FILETYPE_MM_CORE_STANDALONE'
|
||||
}
|
||||
|
||||
# mapping between FILE type in FDF and file type for GenFfs
|
||||
FdfFvFileTypeToFileType = {
|
||||
SUP_MODULE_SEC : 'EFI_FV_FILETYPE_SECURITY_CORE',
|
||||
|
|
|
@ -93,7 +93,6 @@ class OptRomInfStatement (FfsInfStatement):
|
|||
#
|
||||
Rule = self.__GetRule__()
|
||||
GenFdsGlobalVariable.VerboseLogger( "Packing binaries from inf file : %s" %self.InfFileName)
|
||||
#FileType = Ffs.Ffs.ModuleTypeToFileType[Rule.ModuleType]
|
||||
#
|
||||
# For the rule only has simpleFile
|
||||
#
|
||||
|
|
|
@ -901,7 +901,7 @@ class InfBuildData(ModuleBuildClassObject):
|
|||
Depex[Arch, ModuleType] = []
|
||||
DepexList = Depex[Arch, ModuleType]
|
||||
for Token in TokenList:
|
||||
if Token in DEPEX_SUPPORTED_OPCODE:
|
||||
if Token in DEPEX_SUPPORTED_OPCODE_SET:
|
||||
DepexList.append(Token)
|
||||
elif Token.endswith(".inf"): # module file name
|
||||
ModuleFile = os.path.normpath(Token)
|
||||
|
|
|
@ -310,7 +310,7 @@ class MetaFileParser(object):
|
|||
if self._SectionName in self.DataType:
|
||||
self._SectionType = self.DataType[self._SectionName]
|
||||
# Check if the section name is valid
|
||||
if self._SectionName not in SECTIONS_HAVE_ITEM_AFTER_ARCH and len(ItemList) > 3:
|
||||
if self._SectionName not in SECTIONS_HAVE_ITEM_AFTER_ARCH_SET and len(ItemList) > 3:
|
||||
EdkLogger.error("Parser", FORMAT_UNKNOWN_ERROR, "%s is not a valid section name" % Item,
|
||||
self.MetaFile, self._LineIndex + 1, self._CurrentLine)
|
||||
elif self._Version >= 0x00010005:
|
||||
|
@ -328,7 +328,7 @@ class MetaFileParser(object):
|
|||
|
||||
# S2 may be Platform or ModuleType
|
||||
if len(ItemList) > 2:
|
||||
if self._SectionName.upper() in SECTIONS_HAVE_ITEM_PCD:
|
||||
if self._SectionName.upper() in SECTIONS_HAVE_ITEM_PCD_SET:
|
||||
S2 = ItemList[2]
|
||||
else:
|
||||
S2 = ItemList[2].upper()
|
||||
|
|
|
@ -1616,12 +1616,12 @@ class Build():
|
|||
if OutputImageFile != '':
|
||||
ModuleIsPatch = False
|
||||
for Pcd in Module.ModulePcdList:
|
||||
if Pcd.Type == TAB_PCDS_PATCHABLE_IN_MODULE and Pcd.TokenCName in TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_LIST:
|
||||
if Pcd.Type == TAB_PCDS_PATCHABLE_IN_MODULE and Pcd.TokenCName in TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_SET:
|
||||
ModuleIsPatch = True
|
||||
break
|
||||
if not ModuleIsPatch:
|
||||
for Pcd in Module.LibraryPcdList:
|
||||
if Pcd.Type == TAB_PCDS_PATCHABLE_IN_MODULE and Pcd.TokenCName in TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_LIST:
|
||||
if Pcd.Type == TAB_PCDS_PATCHABLE_IN_MODULE and Pcd.TokenCName in TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_SET:
|
||||
ModuleIsPatch = True
|
||||
break
|
||||
|
||||
|
|
Loading…
Reference in New Issue