## Return the directory to store FV files\r
def _GetFvDir(self):\r
if self._FvDir is None:\r
- self._FvDir = path.join(self.BuildDir, 'FV')\r
+ self._FvDir = path.join(self.BuildDir, TAB_FV_DIRECTORY)\r
return self._FvDir\r
\r
## Return the directory to store all intermediate and final files built\r
\r
def UpdateNVStoreMaxSize(self,OrgVpdFile):\r
if self.VariableInfo:\r
- VpdMapFilePath = os.path.join(self.BuildDir, "FV", "%s.map" % self.Platform.VpdToolGuid)\r
+ VpdMapFilePath = os.path.join(self.BuildDir, TAB_FV_DIRECTORY, "%s.map" % self.Platform.VpdToolGuid)\r
PcdNvStoreDfBuffer = [item for item in self._DynamicPcdList if item.TokenCName == "PcdNvStoreDefaultValueBuffer" and item.TokenSpaceGuidCName == "gEfiMdeModulePkgTokenSpaceGuid"]\r
\r
if PcdNvStoreDfBuffer:\r
\r
# Process VPD map file generated by third party BPDG tool\r
if NeedProcessVpdMapFile:\r
- VpdMapFilePath = os.path.join(self.BuildDir, "FV", "%s.map" % self.Platform.VpdToolGuid)\r
+ VpdMapFilePath = os.path.join(self.BuildDir, TAB_FV_DIRECTORY, "%s.map" % self.Platform.VpdToolGuid)\r
if os.path.exists(VpdMapFilePath):\r
VpdFile.Read(VpdMapFilePath)\r
\r
self.AllPcdList = self._NonDynamicPcdList + self._DynamicPcdList\r
\r
def FixVpdOffset(self,VpdFile ):\r
- FvPath = os.path.join(self.BuildDir, "FV")\r
+ FvPath = os.path.join(self.BuildDir, TAB_FV_DIRECTORY)\r
if not os.path.exists(FvPath):\r
try:\r
os.makedirs(FvPath)\r
# retrieve BPDG tool's path from tool_def.txt according to VPD_TOOL_GUID defined in DSC file.\r
BPDGToolName = None\r
for ToolDef in self.ToolDefinition.values():\r
- if ToolDef.has_key("GUID") and ToolDef["GUID"] == self.Platform.VpdToolGuid:\r
+ if ToolDef.has_key(TAB_GUID) and ToolDef[TAB_GUID] == self.Platform.VpdToolGuid:\r
if not ToolDef.has_key("PATH"):\r
EdkLogger.error("build", ATTRIBUTE_NOT_AVAILABLE, "PATH attribute was not provided for BPDG guid tool %s in tools_def.txt" % self.Platform.VpdToolGuid)\r
BPDGToolName = ToolDef["PATH"]\r
def _GetFfsOutputDir(self):\r
if self._FfsOutputDir is None:\r
if GlobalData.gFdfParser is not None:\r
- self._FfsOutputDir = path.join(self.PlatformInfo.BuildDir, "FV", "Ffs", self.Guid + self.Name)\r
+ self._FfsOutputDir = path.join(self.PlatformInfo.BuildDir, TAB_FV_DIRECTORY, "Ffs", self.Guid + self.Name)\r
else:\r
self._FfsOutputDir = ''\r
return self._FfsOutputDir\r
#\r
def CreateGuidDefinitionCode(Info, AutoGenC, AutoGenH):\r
if Info.ModuleType in [SUP_MODULE_USER_DEFINED, SUP_MODULE_BASE]:\r
- GuidType = "GUID"\r
+ GuidType = TAB_GUID\r
else:\r
GuidType = "EFI_GUID"\r
\r
#\r
def CreateProtocolDefinitionCode(Info, AutoGenC, AutoGenH):\r
if Info.ModuleType in [SUP_MODULE_USER_DEFINED, SUP_MODULE_BASE]:\r
- GuidType = "GUID"\r
+ GuidType = TAB_GUID\r
else:\r
GuidType = "EFI_GUID"\r
\r
#\r
def CreatePpiDefinitionCode(Info, AutoGenC, AutoGenH):\r
if Info.ModuleType in [SUP_MODULE_USER_DEFINED, SUP_MODULE_BASE]:\r
- GuidType = "GUID"\r
+ GuidType = TAB_GUID\r
else:\r
GuidType = "EFI_GUID"\r
\r
if TokenSpaceList:\r
AutoGenH.Append("\n// Definition of PCD Token Space GUIDs used in this module\n\n")\r
if Info.ModuleType in [SUP_MODULE_USER_DEFINED, SUP_MODULE_BASE]:\r
- GuidType = "GUID"\r
+ GuidType = TAB_GUID\r
else:\r
GuidType = "EFI_GUID" \r
for Item in TokenSpaceList:\r
AutoGenC.Append(AdditionalAutoGenC.String)\r
\r
if Info.IsBinaryModule:\r
- DbFileName = os.path.join(Info.PlatformInfo.BuildDir, "FV", Phase + "PcdDataBase.raw")\r
+ DbFileName = os.path.join(Info.PlatformInfo.BuildDir, TAB_FV_DIRECTORY, Phase + "PcdDataBase.raw")\r
else:\r
DbFileName = os.path.join(Info.OutputDir, Phase + "PcdDataBase.raw")\r
DbFile = StringIO()\r
PcdDriverAutoGenData[(skuname,skuid)] = (AdditionalAutoGenH, AdditionalAutoGenC)\r
VarCheckTableData[(skuname,skuid)] = VarCheckTab\r
if Platform.Platform.VarCheckFlag:\r
- dest = os.path.join(Platform.BuildDir, 'FV')\r
+ dest = os.path.join(Platform.BuildDir, TAB_FV_DIRECTORY)\r
VarCheckTable = CreateVarCheckBin(VarCheckTableData)\r
VarCheckTable.dump(dest, Phase)\r
AdditionalAutoGenH, AdditionalAutoGenC = CreateAutoGen(PcdDriverAutoGenData)\r
TAB_UINT32 = 'UINT32'\r
TAB_UINT64 = 'UINT64'\r
TAB_VOID = 'VOID*'\r
+TAB_GUID = 'GUID'\r
\r
TAB_PCD_CLEAN_NUMERIC_TYPES = {TAB_UINT8, TAB_UINT16, TAB_UINT32, TAB_UINT64}\r
TAB_PCD_NUMERIC_TYPES = {TAB_UINT8, TAB_UINT16, TAB_UINT32, TAB_UINT64, 'BOOLEAN'}\r
TAB_EDK_SOURCE = '$(EDK_SOURCE)'\r
TAB_EFI_SOURCE = '$(EFI_SOURCE)'\r
TAB_WORKSPACE = '$(WORKSPACE)'\r
+TAB_FV_DIRECTORY = 'FV'\r
\r
TAB_ARCH_NULL = ''\r
TAB_ARCH_COMMON = 'COMMON'\r
Size = 0\r
ValueStr = ''\r
TokenSpaceGuidName = ''\r
- if Item.startswith('GUID') and Item.endswith(')'):\r
+ if Item.startswith(TAB_GUID) and Item.endswith(')'):\r
try:\r
TokenSpaceGuidName = re.search('GUID\((\w+)\)', Item).group(1)\r
except:\r
\r
def IsFieldValueAnArray (Value):\r
Value = Value.strip()\r
- if Value.startswith('GUID') and Value.endswith(')'):\r
+ if Value.startswith(TAB_GUID) and Value.endswith(')'):\r
return True\r
if Value.startswith('L"') and Value.endswith('"') and len(list(Value[2:-1])) > 1:\r
return True\r
if Size > 8:\r
raise BadExpression('Value (%s) Size larger than %d' % (Value, Size))\r
return Value, 8\r
- if Value.startswith('GUID') and Value.endswith(')'):\r
+ if Value.startswith(TAB_GUID) and Value.endswith(')'):\r
Value = Value.split('(', 1)[1][:-1].strip()\r
if Value[0] == '{' and Value[-1] == '}':\r
TmpValue = GuidStructureStringToGuidString(Value)\r
CopyLongFilePath(MapFile, CopyMapFile)\r
\r
#Get PE Section alignment when align is set to AUTO\r
- if self.Alignment == 'Auto' and self.SecType in ('TE', 'PE32'):\r
+ if self.Alignment == 'Auto' and self.SecType in (BINARY_FILE_TYPE_TE, BINARY_FILE_TYPE_PE32):\r
ImageObj = PeImageClass (Filename)\r
if ImageObj.SectionAlignment < 0x400:\r
self.Alignment = str (ImageObj.SectionAlignment)\r
self.Alignment = str (ImageObj.SectionAlignment / 0x100000) + 'M'\r
\r
NoStrip = True\r
- if self.SecType in ('TE', 'PE32'):\r
+ if self.SecType in (BINARY_FILE_TYPE_TE, BINARY_FILE_TYPE_PE32):\r
if self.KeepReloc is not None:\r
NoStrip = self.KeepReloc\r
\r
)\r
self.SectFileName = StrippedFile\r
\r
- if self.SecType == 'TE':\r
+ if self.SecType == BINARY_FILE_TYPE_TE:\r
TeFile = os.path.join( OutputPath, ModuleName + 'Te.raw')\r
GenFdsGlobalVariable.GenerateFirmwareImage(\r
TeFile,\r
\r
if self.DepexType == 'PEI_DEPEX_EXP':\r
ModuleType = SUP_MODULE_PEIM\r
- SecType = 'PEI_DEPEX'\r
+ SecType = BINARY_FILE_TYPE_PEI_DEPEX\r
elif self.DepexType == 'DXE_DEPEX_EXP':\r
ModuleType = SUP_MODULE_DXE_DRIVER\r
- SecType = 'DXE_DEPEX'\r
+ SecType = BINARY_FILE_TYPE_DXE_DEPEX\r
elif self.DepexType == 'SMM_DEPEX_EXP':\r
ModuleType = SUP_MODULE_DXE_SMM_DRIVER\r
- SecType = 'SMM_DEPEX'\r
+ SecType = BINARY_FILE_TYPE_SMM_DEPEX\r
else:\r
EdkLogger.error("GenFds", FORMAT_INVALID,\r
"Depex type %s is not valid for module %s" % (self.DepexType, ModuleName))\r
StringData = FfsInf.__ExtendMacro__(self.StringData)\r
ModuleNameStr = FfsInf.__ExtendMacro__('$(MODULE_NAME)')\r
NoStrip = True\r
- if FfsInf.ModuleType in (SUP_MODULE_SEC, SUP_MODULE_PEI_CORE, SUP_MODULE_PEIM) and SectionType in ('TE', 'PE32'):\r
+ if FfsInf.ModuleType in (SUP_MODULE_SEC, SUP_MODULE_PEI_CORE, SUP_MODULE_PEIM) and SectionType in (BINARY_FILE_TYPE_TE, BINARY_FILE_TYPE_PE32):\r
if FfsInf.KeepReloc is not None:\r
NoStrip = FfsInf.KeepReloc\r
elif FfsInf.KeepRelocFromRule is not None:\r
OutputFileList.append(OutputFile)\r
\r
#\r
- # If Section Type is 'UI'\r
+ # If Section Type is BINARY_FILE_TYPE_UI\r
#\r
- elif SectionType == 'UI':\r
+ elif SectionType == BINARY_FILE_TYPE_UI:\r
\r
InfOverrideUiString = False\r
if FfsInf.Ui is not None:\r
File = GenFdsGlobalVariable.MacroExtend(File, Dict)\r
\r
#Get PE Section alignment when align is set to AUTO\r
- if self.Alignment == 'Auto' and (SectionType == 'PE32' or SectionType == 'TE'):\r
+ if self.Alignment == 'Auto' and (SectionType == BINARY_FILE_TYPE_PE32 or SectionType == BINARY_FILE_TYPE_TE):\r
ImageObj = PeImageClass (File)\r
if ImageObj.SectionAlignment < 0x400:\r
Align = str (ImageObj.SectionAlignment)\r
\r
"""For TE Section call GenFw to generate TE image"""\r
\r
- if SectionType == 'TE':\r
+ if SectionType == BINARY_FILE_TYPE_TE:\r
TeFile = os.path.join( OutputPath, ModuleName + 'Te.raw')\r
GenFdsGlobalVariable.GenerateFirmwareImage(\r
TeFile,\r
from Common.BuildToolError import *\r
from Common.Misc import SaveFileOnChange\r
from GenFds import GenFds\r
+from Common.DataType import BINARY_FILE_TYPE_FV\r
\r
## generate FD\r
#\r
FvAddDict ={}\r
FvList = []\r
for RegionObj in self.RegionList:\r
- if RegionObj.RegionType == 'FV':\r
+ if RegionObj.RegionType == BINARY_FILE_TYPE_FV:\r
if len(RegionObj.RegionDataList) == 1:\r
RegionData = RegionObj.RegionDataList[0]\r
FvList.append(RegionData.upper())\r
if not self.__GetNextWord():\r
return True\r
\r
- if not self.__Token in ("SET", "FV", "FILE", "DATA", "CAPSULE", "INF"):\r
+ if not self.__Token in ("SET", BINARY_FILE_TYPE_FV, "FILE", "DATA", "CAPSULE", "INF"):\r
#\r
# If next token is a word which is not a valid FV type, it might be part of [PcdOffset[|PcdSize]]\r
# Or it might be next region's offset described by an expression which starts with a PCD.\r
if not self.__GetNextWord():\r
return True\r
\r
- elif self.__Token == "FV":\r
+ elif self.__Token == BINARY_FILE_TYPE_FV:\r
self.__UndoToken()\r
self.__GetRegionFvType( RegionObj)\r
\r
#\r
def __GetRegionFvType(self, RegionObj):\r
\r
- if not self.__IsKeyword( "FV"):\r
- raise Warning("expected Keyword 'FV'", self.FileName, self.CurrentLineNumber)\r
+ if not self.__IsKeyword( BINARY_FILE_TYPE_FV):\r
+ raise Warning("expected Keyword BINARY_FILE_TYPE_FV", self.FileName, self.CurrentLineNumber)\r
\r
if not self.__IsToken( "="):\r
raise Warning("expected '='", self.FileName, self.CurrentLineNumber)\r
if not self.__GetNextToken():\r
raise Warning("expected FV name", self.FileName, self.CurrentLineNumber)\r
\r
- RegionObj.RegionType = "FV"\r
+ RegionObj.RegionType = BINARY_FILE_TYPE_FV\r
RegionObj.RegionDataList.append((self.__Token).upper())\r
\r
- while self.__IsKeyword( "FV"):\r
+ while self.__IsKeyword( BINARY_FILE_TYPE_FV):\r
\r
if not self.__IsToken( "="):\r
raise Warning("expected '='", self.FileName, self.CurrentLineNumber)\r
if self.__GetStringData():\r
FfsInfObj.Version = self.__Token\r
\r
- if self.__IsKeyword( "UI"):\r
+ if self.__IsKeyword( BINARY_FILE_TYPE_UI):\r
if not self.__IsToken( "="):\r
raise Warning("expected '='", self.FileName, self.CurrentLineNumber)\r
if not self.__GetNextToken():\r
#\r
@staticmethod\r
def __SectionCouldHaveRelocFlag (SectionType):\r
- if SectionType in ('TE', 'PE32'):\r
+ if SectionType in (BINARY_FILE_TYPE_TE, BINARY_FILE_TYPE_PE32):\r
return True\r
else:\r
return False\r
if not self.__GetNextToken():\r
raise Warning("expected File name or section data", self.FileName, self.CurrentLineNumber)\r
\r
- if self.__Token == "FV":\r
+ if self.__Token == BINARY_FILE_TYPE_FV:\r
if not self.__IsToken( "="):\r
raise Warning("expected '='", self.FileName, self.CurrentLineNumber)\r
if not self.__GetNextToken():\r
VerSectionObj.FileName = self.__Token\r
Obj.SectionList.append(VerSectionObj)\r
\r
- elif self.__IsKeyword( "UI"):\r
+ elif self.__IsKeyword( BINARY_FILE_TYPE_UI):\r
if AlignValue == 'Auto':\r
raise Warning("Auto alignment can only be used in PE32 or TE section ", self.FileName, self.CurrentLineNumber)\r
if not self.__IsToken( "="):\r
self.SetFileBufferPos(OldPos)\r
return False\r
\r
- if self.__Token not in ("COMPAT16", "PE32", "PIC", "TE", "FV_IMAGE", "RAW", "DXE_DEPEX",\\r
- "UI", "VERSION", "PEI_DEPEX", "SUBTYPE_GUID", "SMM_DEPEX"):\r
+ if self.__Token not in ("COMPAT16", BINARY_FILE_TYPE_PE32, BINARY_FILE_TYPE_PIC, BINARY_FILE_TYPE_TE, "FV_IMAGE", "RAW", BINARY_FILE_TYPE_DXE_DEPEX,\\r
+ BINARY_FILE_TYPE_UI, "VERSION", BINARY_FILE_TYPE_PEI_DEPEX, "SUBTYPE_GUID", BINARY_FILE_TYPE_SMM_DEPEX):\r
raise Warning("Unknown section type '%s'" % self.__Token, self.FileName, self.CurrentLineNumber)\r
- if AlignValue == 'Auto'and (not self.__Token == 'PE32') and (not self.__Token == 'TE'):\r
+ if AlignValue == 'Auto'and (not self.__Token == BINARY_FILE_TYPE_PE32) and (not self.__Token == BINARY_FILE_TYPE_TE):\r
raise Warning("Auto alignment can only be used in PE32 or TE section ", self.FileName, self.CurrentLineNumber)\r
\r
# DataSection\r
#\r
def __GetFvStatement(self, CapsuleObj, FMPCapsule = False):\r
\r
- if not self.__IsKeyword("FV"):\r
+ if not self.__IsKeyword(BINARY_FILE_TYPE_FV):\r
return False\r
\r
if not self.__IsToken("="):\r
AfileBaseName = os.path.basename(AfileName)\r
\r
if os.path.splitext(AfileBaseName)[1] not in [".bin",".BIN",".Bin",".dat",".DAT",".Dat",".data",".DATA",".Data"]:\r
- raise Warning('invalid binary file type, should be one of "bin","BIN","Bin","dat","DAT","Dat","data","DATA","Data"', \\r
+ raise Warning('invalid binary file type, should be one of "bin",BINARY_FILE_TYPE_BIN,"Bin","dat","DAT","Dat","data","DATA","Data"', \\r
self.FileName, self.CurrentLineNumber)\r
\r
if not os.path.isabs(AfileName):\r
\r
SectionName = self.__Token\r
\r
- if SectionName not in ("COMPAT16", "PE32", "PIC", "TE", "FV_IMAGE", "RAW", "DXE_DEPEX",\\r
- "UI", "PEI_DEPEX", "VERSION", "SUBTYPE_GUID", "SMM_DEPEX"):\r
+ if SectionName not in ("COMPAT16", BINARY_FILE_TYPE_PE32, BINARY_FILE_TYPE_PIC, BINARY_FILE_TYPE_TE, "FV_IMAGE", "RAW", BINARY_FILE_TYPE_DXE_DEPEX,\\r
+ BINARY_FILE_TYPE_UI, BINARY_FILE_TYPE_PEI_DEPEX, "VERSION", "SUBTYPE_GUID", BINARY_FILE_TYPE_SMM_DEPEX):\r
raise Warning("Unknown leaf section name '%s'" % SectionName, self.FileName, self.CurrentLineNumber)\r
\r
\r
if self.__Token not in ("Auto", "8", "16", "32", "64", "128", "512", "1K", "4K", "32K" ,"64K", "128K",\r
"256K", "512K", "1M", "2M", "4M", "8M", "16M"):\r
raise Warning("Incorrect alignment '%s'" % self.__Token, self.FileName, self.CurrentLineNumber)\r
- if self.__Token == 'Auto' and (not SectionName == 'PE32') and (not SectionName == 'TE'):\r
+ if self.__Token == 'Auto' and (not SectionName == BINARY_FILE_TYPE_PE32) and (not SectionName == BINARY_FILE_TYPE_TE):\r
raise Warning("Auto alignment can only be used in PE32 or TE section ", self.FileName, self.CurrentLineNumber)\r
SectAlignment = self.__Token\r
\r
return False\r
SectionName = self.__Token\r
\r
- if SectionName not in ("COMPAT16", "PE32", "PIC", "TE", "FV_IMAGE", "RAW", "DXE_DEPEX",\\r
- "UI", "VERSION", "PEI_DEPEX", "GUID", "SMM_DEPEX"):\r
+ if SectionName not in ("COMPAT16", BINARY_FILE_TYPE_PE32, BINARY_FILE_TYPE_PIC, BINARY_FILE_TYPE_TE, "FV_IMAGE", "RAW", BINARY_FILE_TYPE_DXE_DEPEX,\\r
+ BINARY_FILE_TYPE_UI, "VERSION", BINARY_FILE_TYPE_PEI_DEPEX, BINARY_FILE_TYPE_GUID, BINARY_FILE_TYPE_SMM_DEPEX):\r
self.__UndoToken()\r
return False\r
\r
FvImageSectionObj.FvName = None\r
\r
else:\r
- if not self.__IsKeyword("FV"):\r
- raise Warning("expected 'FV'", self.FileName, self.CurrentLineNumber)\r
+ if not self.__IsKeyword(BINARY_FILE_TYPE_FV):\r
+ raise Warning("expected BINARY_FILE_TYPE_FV", self.FileName, self.CurrentLineNumber)\r
FvImageSectionObj.FvFileType = self.__Token\r
\r
if self.__GetAlignment():\r
if self.__IsToken('|'):\r
FvImageSectionObj.FvFileExtension = self.__GetFileExtension()\r
elif self.__GetNextToken():\r
- if self.__Token not in ("}", "COMPAT16", "PE32", "PIC", "TE", "FV_IMAGE", "RAW", "DXE_DEPEX",\\r
- "UI", "VERSION", "PEI_DEPEX", "GUID", "SMM_DEPEX"):\r
+ if self.__Token not in ("}", "COMPAT16", BINARY_FILE_TYPE_PE32, BINARY_FILE_TYPE_PIC, BINARY_FILE_TYPE_TE, "FV_IMAGE", "RAW", BINARY_FILE_TYPE_DXE_DEPEX,\\r
+ BINARY_FILE_TYPE_UI, "VERSION", BINARY_FILE_TYPE_PEI_DEPEX, BINARY_FILE_TYPE_GUID, BINARY_FILE_TYPE_SMM_DEPEX):\r
FvImageSectionObj.FvFileName = self.__Token\r
else:\r
self.__UndoToken()\r
if self.__Token not in ("Auto", "8", "16", "32", "64", "128", "512", "1K", "4K", "32K" ,"64K", "128K",\r
"256K", "512K", "1M", "2M", "4M", "8M", "16M"):\r
raise Warning("Incorrect alignment '%s'" % self.__Token, self.FileName, self.CurrentLineNumber)\r
- if self.__Token == 'Auto' and (not SectionName == 'PE32') and (not SectionName == 'TE'):\r
+ if self.__Token == 'Auto' and (not SectionName == BINARY_FILE_TYPE_PE32) and (not SectionName == BINARY_FILE_TYPE_TE):\r
raise Warning("Auto alignment can only be used in PE32 or TE section ", self.FileName, self.CurrentLineNumber)\r
EfiSectionObj.Alignment = self.__Token\r
\r
if self.__IsToken('|'):\r
EfiSectionObj.FileExtension = self.__GetFileExtension()\r
elif self.__GetNextToken():\r
- if self.__Token not in ("}", "COMPAT16", "PE32", "PIC", "TE", "FV_IMAGE", "RAW", "DXE_DEPEX",\\r
- "UI", "VERSION", "PEI_DEPEX", "GUID", "SMM_DEPEX"):\r
+ if self.__Token not in ("}", "COMPAT16", BINARY_FILE_TYPE_PE32, BINARY_FILE_TYPE_PIC, BINARY_FILE_TYPE_TE, "FV_IMAGE", "RAW", BINARY_FILE_TYPE_DXE_DEPEX,\\r
+ BINARY_FILE_TYPE_UI, "VERSION", BINARY_FILE_TYPE_PEI_DEPEX, BINARY_FILE_TYPE_GUID, BINARY_FILE_TYPE_SMM_DEPEX):\r
\r
if self.__Token.startswith('PCD'):\r
self.__UndoToken()\r
#\r
@staticmethod\r
def __RuleSectionCouldBeOptional(SectionType):\r
- if SectionType in ("DXE_DEPEX", "UI", "VERSION", "PEI_DEPEX", "RAW", "SMM_DEPEX"):\r
+ if SectionType in (BINARY_FILE_TYPE_DXE_DEPEX, BINARY_FILE_TYPE_UI, "VERSION", BINARY_FILE_TYPE_PEI_DEPEX, "RAW", BINARY_FILE_TYPE_SMM_DEPEX):\r
return True\r
else:\r
return False\r
#\r
@staticmethod\r
def __RuleSectionCouldHaveString(SectionType):\r
- if SectionType in ("UI", "VERSION"):\r
+ if SectionType in (BINARY_FILE_TYPE_UI, "VERSION"):\r
return True\r
else:\r
return False\r
if SectionType == "COMPAT16":\r
if FileType not in ("COMPAT16", "SEC_COMPAT16"):\r
raise Warning("Incorrect section file type '%s'" % FileType, self.FileName, self.CurrentLineNumber)\r
- elif SectionType == "PE32":\r
- if FileType not in ("PE32", "SEC_PE32"):\r
+ elif SectionType == BINARY_FILE_TYPE_PE32:\r
+ if FileType not in (BINARY_FILE_TYPE_PE32, "SEC_PE32"):\r
raise Warning("Incorrect section file type '%s'" % FileType, self.FileName, self.CurrentLineNumber)\r
- elif SectionType == "PIC":\r
- if FileType not in ("PIC", "PIC"):\r
+ elif SectionType == BINARY_FILE_TYPE_PIC:\r
+ if FileType not in (BINARY_FILE_TYPE_PIC, BINARY_FILE_TYPE_PIC):\r
raise Warning("Incorrect section file type '%s'" % FileType, self.FileName, self.CurrentLineNumber)\r
- elif SectionType == "TE":\r
- if FileType not in ("TE", "SEC_TE"):\r
+ elif SectionType == BINARY_FILE_TYPE_TE:\r
+ if FileType not in (BINARY_FILE_TYPE_TE, "SEC_TE"):\r
raise Warning("Incorrect section file type '%s'" % FileType, self.FileName, self.CurrentLineNumber)\r
elif SectionType == "RAW":\r
- if FileType not in ("BIN", "SEC_BIN", "RAW", "ASL", "ACPI"):\r
+ if FileType not in (BINARY_FILE_TYPE_BIN, "SEC_BIN", "RAW", "ASL", "ACPI"):\r
raise Warning("Incorrect section file type '%s'" % FileType, self.FileName, self.CurrentLineNumber)\r
- elif SectionType == "DXE_DEPEX" or SectionType == "SMM_DEPEX":\r
- if FileType not in ("DXE_DEPEX", "SEC_DXE_DEPEX", "SMM_DEPEX"):\r
+ elif SectionType == BINARY_FILE_TYPE_DXE_DEPEX or SectionType == BINARY_FILE_TYPE_SMM_DEPEX:\r
+ if FileType not in (BINARY_FILE_TYPE_DXE_DEPEX, "SEC_DXE_DEPEX", BINARY_FILE_TYPE_SMM_DEPEX):\r
raise Warning("Incorrect section file type '%s'" % FileType, self.FileName, self.CurrentLineNumber)\r
- elif SectionType == "UI":\r
- if FileType not in ("UI", "SEC_UI"):\r
+ elif SectionType == BINARY_FILE_TYPE_UI:\r
+ if FileType not in (BINARY_FILE_TYPE_UI, "SEC_UI"):\r
raise Warning("Incorrect section file type '%s'" % FileType, self.FileName, self.CurrentLineNumber)\r
elif SectionType == "VERSION":\r
if FileType not in ("VERSION", "SEC_VERSION"):\r
raise Warning("Incorrect section file type '%s'" % FileType, self.FileName, self.CurrentLineNumber)\r
- elif SectionType == "PEI_DEPEX":\r
- if FileType not in ("PEI_DEPEX", "SEC_PEI_DEPEX"):\r
+ elif SectionType == BINARY_FILE_TYPE_PEI_DEPEX:\r
+ if FileType not in (BINARY_FILE_TYPE_PEI_DEPEX, "SEC_PEI_DEPEX"):\r
raise Warning("Incorrect section file type '%s'" % FileType, self.FileName, self.CurrentLineNumber)\r
- elif SectionType == "GUID":\r
- if FileType not in ("PE32", "SEC_GUID"):\r
+ elif SectionType == BINARY_FILE_TYPE_GUID:\r
+ if FileType not in (BINARY_FILE_TYPE_PE32, "SEC_GUID"):\r
raise Warning("Incorrect section file type '%s'" % FileType, self.FileName, self.CurrentLineNumber)\r
\r
## __GetRuleEncapsulationSection() method\r
\r
FfsFileObj = OptRomFileStatement.OptRomFileStatement()\r
\r
- if not self.__IsKeyword("EFI") and not self.__IsKeyword("BIN"):\r
+ if not self.__IsKeyword("EFI") and not self.__IsKeyword(BINARY_FILE_TYPE_BIN):\r
raise Warning("expected Binary type (EFI/BIN)", self.FileName, self.CurrentLineNumber)\r
FfsFileObj.FileType = self.__Token\r
\r
if FdName.upper() in self.Profile.FdDict:\r
FdObj = self.Profile.FdDict[FdName.upper()]\r
for elementRegion in FdObj.RegionList:\r
- if elementRegion.RegionType == 'FV':\r
+ if elementRegion.RegionType == BINARY_FILE_TYPE_FV:\r
for elementRegionData in elementRegion.RegionDataList:\r
if elementRegionData.endswith(".fv"):\r
continue\r
\r
# mapping between section type in FDF and file suffix\r
SectionSuffix = {\r
- 'PE32' : '.pe32',\r
- 'PIC' : '.pic',\r
- 'TE' : '.te',\r
- 'DXE_DEPEX' : '.dpx',\r
+ BINARY_FILE_TYPE_PE32 : '.pe32',\r
+ BINARY_FILE_TYPE_PIC : '.pic',\r
+ BINARY_FILE_TYPE_TE : '.te',\r
+ BINARY_FILE_TYPE_DXE_DEPEX : '.dpx',\r
'VERSION' : '.ver',\r
- 'UI' : '.ui',\r
+ BINARY_FILE_TYPE_UI : '.ui',\r
'COMPAT16' : '.com16',\r
'RAW' : '.raw',\r
'FREEFORM_SUBTYPE_GUID': '.guid',\r
'FV_IMAGE' : 'fv.sec',\r
'COMPRESS' : '.com',\r
'GUIDED' : '.guided',\r
- 'PEI_DEPEX' : '.dpx',\r
- 'SMM_DEPEX' : '.dpx'\r
+ BINARY_FILE_TYPE_PEI_DEPEX : '.dpx',\r
+ BINARY_FILE_TYPE_SMM_DEPEX : '.dpx'\r
}\r
\r
## The constructor\r
#\r
# Only patch file if FileType is PE32 or ModuleType is USER_DEFINED\r
# \r
- if FileType != 'PE32' and self.ModuleType != SUP_MODULE_USER_DEFINED:\r
+ if FileType != BINARY_FILE_TYPE_PE32 and self.ModuleType != SUP_MODULE_USER_DEFINED:\r
return EfiFile\r
\r
#\r
# Convert Fv Section Type for PI1.1 SMM driver.\r
#\r
if self.ModuleType == SUP_MODULE_DXE_SMM_DRIVER and int(self.PiSpecVersion, 16) >= 0x0001000A:\r
- if SectionType == 'DXE_DEPEX':\r
- SectionType = 'SMM_DEPEX'\r
+ if SectionType == BINARY_FILE_TYPE_DXE_DEPEX:\r
+ SectionType = BINARY_FILE_TYPE_SMM_DEPEX\r
#\r
# Framework SMM Driver has no SMM_DEPEX section type\r
#\r
if self.ModuleType == SUP_MODULE_DXE_SMM_DRIVER and int(self.PiSpecVersion, 16) < 0x0001000A:\r
- if SectionType == 'SMM_DEPEX':\r
+ if SectionType == BINARY_FILE_TYPE_SMM_DEPEX:\r
EdkLogger.error("GenFds", FORMAT_NOT_SUPPORTED, "Framework SMM module doesn't support SMM_DEPEX section type", File=self.InfFileName)\r
NoStrip = True\r
if self.ModuleType in (SUP_MODULE_SEC, SUP_MODULE_PEI_CORE, SUP_MODULE_PEIM):\r
File = GenFdsGlobalVariable.MacroExtend(File, Dict, self.CurrentArch)\r
\r
#Get PE Section alignment when align is set to AUTO\r
- if self.Alignment == 'Auto' and (SectionType == 'PE32' or SectionType == 'TE'):\r
+ if self.Alignment == 'Auto' and (SectionType == BINARY_FILE_TYPE_PE32 or SectionType == BINARY_FILE_TYPE_TE):\r
ImageObj = PeImageClass (File)\r
if ImageObj.SectionAlignment < 0x400:\r
self.Alignment = str (ImageObj.SectionAlignment)\r
)\r
File = StrippedFile\r
\r
- if SectionType == 'TE':\r
+ if SectionType == BINARY_FILE_TYPE_TE:\r
TeFile = os.path.join( self.OutputPath, self.ModuleGuid + 'Te.raw')\r
GenFdsGlobalVariable.GenerateFirmwareImage(\r
TeFile,\r
GenSecInputFile = GenFdsGlobalVariable.MacroExtend(GenSecInputFile, Dict, self.CurrentArch)\r
\r
#Get PE Section alignment when align is set to AUTO\r
- if self.Alignment == 'Auto' and (SectionType == 'PE32' or SectionType == 'TE'):\r
+ if self.Alignment == 'Auto' and (SectionType == BINARY_FILE_TYPE_PE32 or SectionType == BINARY_FILE_TYPE_TE):\r
ImageObj = PeImageClass (GenSecInputFile)\r
if ImageObj.SectionAlignment < 0x400:\r
self.Alignment = str (ImageObj.SectionAlignment)\r
)\r
GenSecInputFile = StrippedFile\r
\r
- if SectionType == 'TE':\r
+ if SectionType == BINARY_FILE_TYPE_TE:\r
TeFile = os.path.join( self.OutputPath, self.ModuleGuid + 'Te.raw')\r
GenFdsGlobalVariable.GenerateFirmwareImage(\r
TeFile,\r
# Convert Fv Section Type for PI1.1 SMM driver.\r
#\r
if self.ModuleType == SUP_MODULE_DXE_SMM_DRIVER and int(self.PiSpecVersion, 16) >= 0x0001000A:\r
- if Sect.SectionType == 'DXE_DEPEX':\r
- Sect.SectionType = 'SMM_DEPEX'\r
+ if Sect.SectionType == BINARY_FILE_TYPE_DXE_DEPEX:\r
+ Sect.SectionType = BINARY_FILE_TYPE_SMM_DEPEX\r
#\r
# Framework SMM Driver has no SMM_DEPEX section type\r
#\r
if self.ModuleType == SUP_MODULE_DXE_SMM_DRIVER and int(self.PiSpecVersion, 16) < 0x0001000A:\r
- if Sect.SectionType == 'SMM_DEPEX':\r
+ if Sect.SectionType == BINARY_FILE_TYPE_SMM_DEPEX:\r
EdkLogger.error("GenFds", FORMAT_NOT_SUPPORTED, "Framework SMM module doesn't support SMM_DEPEX section type", File=self.InfFileName)\r
#\r
# process the inside FvImage from FvSection or GuidSection\r
from Common.Misc import SaveFileOnChange\r
from Common.LongFilePathSupport import CopyLongFilePath\r
from Common.LongFilePathSupport import OpenLongFilePath as open\r
+from Common.DataType import *\r
\r
T_CHAR_LF = '\n'\r
FV_UI_EXT_ENTY_GUID = 'A67DF1FA-8DE8-4E98-AF09-4BDF2EFFBC7C'\r
if self.CapsuleName is not None:\r
for FdObj in GenFdsGlobalVariable.FdfParser.Profile.FdDict.values():\r
for RegionObj in FdObj.RegionList:\r
- if RegionObj.RegionType == 'FV':\r
+ if RegionObj.RegionType == BINARY_FILE_TYPE_FV:\r
for RegionData in RegionObj.RegionDataList:\r
if RegionData.endswith(".fv"):\r
continue\r
\r
for FdObj in GenFdsGlobalVariable.FdfParser.Profile.FdDict.values():\r
for RegionObj in FdObj.RegionList:\r
- if RegionObj.RegionType != 'FV':\r
+ if RegionObj.RegionType != BINARY_FILE_TYPE_FV:\r
continue\r
for RegionData in RegionObj.RegionDataList:\r
#\r
for Fd in FdfParserObj.Profile.FdDict:\r
FdObj = FdfParserObj.Profile.FdDict[Fd]\r
for RegionObj in FdObj.RegionList:\r
- if RegionObj.RegionType != 'FV':\r
+ if RegionObj.RegionType != BINARY_FILE_TYPE_FV:\r
continue\r
for RegionData in RegionObj.RegionDataList:\r
if FvObj.UiFvName.upper() == RegionData.upper():\r
KeyList[1] + \\r
'_' + \\r
KeyList[2]\r
- if Key in KeyStringList and KeyList[4] == 'GUID':\r
+ if Key in KeyStringList and KeyList[4] == TAB_GUID:\r
ToolPathKey = Key + '_' + KeyList[3] + '_PATH'\r
ToolOptionKey = Key + '_' + KeyList[3] + '_FLAGS'\r
ToolPath = ToolDefinition.get(ToolPathKey)\r
if NameGuid == BuildOption[Op]:\r
KeyList = Op.split('_')\r
Key = KeyList[0] + '_' + KeyList[1] +'_' + KeyList[2]\r
- if Key in KeyStringList and KeyList[4] == 'GUID':\r
+ if Key in KeyStringList and KeyList[4] == TAB_GUID:\r
ToolPathKey = Key + '_' + KeyList[3] + '_PATH'\r
ToolOptionKey = Key + '_' + KeyList[3] + '_FLAGS'\r
if ToolPathKey in BuildOption:\r
if FdObj is None:\r
for ElementFd in GenFdsGlobalVariable.FdfParser.Profile.FdDict.values():\r
for ElementRegion in ElementFd.RegionList:\r
- if ElementRegion.RegionType == 'FV':\r
+ if ElementRegion.RegionType == BINARY_FILE_TYPE_FV:\r
for ElementRegionData in ElementRegion.RegionDataList:\r
if ElementRegionData is not None and ElementRegionData.upper() == FvObj.UiFvName:\r
if FvObj.BlockSizeList != []:\r
return DefaultBlockSize\r
else:\r
for ElementRegion in FdObj.RegionList:\r
- if ElementRegion.RegionType == 'FV':\r
+ if ElementRegion.RegionType == BINARY_FILE_TYPE_FV:\r
for ElementRegionData in ElementRegion.RegionDataList:\r
if ElementRegionData is not None and ElementRegionData.upper() == FvObj.UiFvName:\r
if FvObj.BlockSizeList != []:\r
# GenFdsGlobalVariable.OutputDirDict = OutputDir\r
GenFdsGlobalVariable.FdfParser = FdfParser\r
GenFdsGlobalVariable.WorkSpace = WorkSpace\r
- GenFdsGlobalVariable.FvDir = os.path.join(GenFdsGlobalVariable.OutputDirDict[ArchList[0]], 'FV')\r
+ GenFdsGlobalVariable.FvDir = os.path.join(GenFdsGlobalVariable.OutputDirDict[ArchList[0]], DataType.TAB_FV_DIRECTORY)\r
if not os.path.exists(GenFdsGlobalVariable.FvDir) :\r
os.makedirs(GenFdsGlobalVariable.FvDir)\r
GenFdsGlobalVariable.FfsDir = os.path.join(GenFdsGlobalVariable.FvDir, 'Ffs')\r
GenFdsGlobalVariable.PlatformName = WorkSpace.Db.BuildObject[GenFdsGlobalVariable.ActivePlatform, Arch,\r
GlobalData.gGlobalDefines['TARGET'],\r
GlobalData.gGlobalDefines['TOOLCHAIN']].PlatformName\r
- GenFdsGlobalVariable.FvDir = os.path.join(GenFdsGlobalVariable.OutputDirDict[ArchList[0]], 'FV')\r
+ GenFdsGlobalVariable.FvDir = os.path.join(GenFdsGlobalVariable.OutputDirDict[ArchList[0]], DataType.TAB_FV_DIRECTORY)\r
if not os.path.exists(GenFdsGlobalVariable.FvDir):\r
os.makedirs(GenFdsGlobalVariable.FvDir)\r
GenFdsGlobalVariable.FfsDir = os.path.join(GenFdsGlobalVariable.FvDir, 'Ffs')\r
\r
OutputFileList = []\r
for Sect in Rule.SectionList:\r
- if Sect.SectionType == 'PE32':\r
+ if Sect.SectionType == BINARY_FILE_TYPE_PE32:\r
if Sect.FileName is not None:\r
GenSecInputFile = self.__ExtendMacro__(Sect.FileName)\r
OutputFileList.append(GenSecInputFile)\r
from Common.BuildToolError import *\r
from Common.LongFilePathSupport import OpenLongFilePath as open\r
from Common.MultipleWorkspace import MultipleWorkspace as mws\r
+from Common.DataType import BINARY_FILE_TYPE_FV\r
\r
## generate Region\r
#\r
GenFdsGlobalVariable.InfLogger('\nGenerate Region at Offset 0x%X' % self.Offset)\r
GenFdsGlobalVariable.InfLogger(" Region Size = 0x%X" % Size)\r
GenFdsGlobalVariable.SharpCounter = 0\r
- if Flag and (self.RegionType != 'FV'):\r
+ if Flag and (self.RegionType != BINARY_FILE_TYPE_FV):\r
return\r
\r
- if self.RegionType == 'FV':\r
+ if self.RegionType == BINARY_FILE_TYPE_FV:\r
#\r
# Get Fv from FvDict\r
#\r
import Common.LongFilePathOs as os, glob\r
from Common import EdkLogger\r
from Common.BuildToolError import *\r
-from Common.DataType import TAB_ARCH_COMMON\r
+from Common.DataType import *\r
\r
## section base class\r
#\r
SectionType = {\r
'RAW' : 'EFI_SECTION_RAW',\r
'FREEFORM' : 'EFI_SECTION_FREEFORM_SUBTYPE_GUID',\r
- 'PE32' : 'EFI_SECTION_PE32',\r
- 'PIC' : 'EFI_SECTION_PIC',\r
- 'TE' : 'EFI_SECTION_TE',\r
+ BINARY_FILE_TYPE_PE32 : 'EFI_SECTION_PE32',\r
+ BINARY_FILE_TYPE_PIC : 'EFI_SECTION_PIC',\r
+ BINARY_FILE_TYPE_TE : 'EFI_SECTION_TE',\r
'FV_IMAGE' : 'EFI_SECTION_FIRMWARE_VOLUME_IMAGE',\r
- 'DXE_DEPEX' : 'EFI_SECTION_DXE_DEPEX',\r
- 'PEI_DEPEX' : 'EFI_SECTION_PEI_DEPEX',\r
+ BINARY_FILE_TYPE_DXE_DEPEX : 'EFI_SECTION_DXE_DEPEX',\r
+ BINARY_FILE_TYPE_PEI_DEPEX : 'EFI_SECTION_PEI_DEPEX',\r
'GUIDED' : 'EFI_SECTION_GUID_DEFINED',\r
'COMPRESS' : 'EFI_SECTION_COMPRESSION',\r
- 'UI' : 'EFI_SECTION_USER_INTERFACE',\r
- 'SMM_DEPEX' : 'EFI_SECTION_SMM_DEPEX'\r
+ BINARY_FILE_TYPE_UI : 'EFI_SECTION_USER_INTERFACE',\r
+ BINARY_FILE_TYPE_SMM_DEPEX : 'EFI_SECTION_SMM_DEPEX'\r
}\r
\r
BinFileType = {\r
- 'GUID' : '.guid',\r
+ BINARY_FILE_TYPE_GUID : '.guid',\r
'ACPI' : '.acpi',\r
'ASL' : '.asl' ,\r
- 'UEFI_APP' : '.app',\r
- 'LIB' : '.lib',\r
- 'PE32' : '.pe32',\r
- 'PIC' : '.pic',\r
- 'PEI_DEPEX' : '.depex',\r
+ BINARY_FILE_TYPE_UEFI_APP : '.app',\r
+ BINARY_FILE_TYPE_LIB : '.lib',\r
+ BINARY_FILE_TYPE_PE32 : '.pe32',\r
+ BINARY_FILE_TYPE_PIC : '.pic',\r
+ BINARY_FILE_TYPE_PEI_DEPEX : '.depex',\r
'SEC_PEI_DEPEX' : '.depex',\r
- 'TE' : '.te',\r
- 'UNI_VER' : '.ver',\r
- 'VER' : '.ver',\r
- 'UNI_UI' : '.ui',\r
- 'UI' : '.ui',\r
- 'BIN' : '.bin',\r
+ BINARY_FILE_TYPE_TE : '.te',\r
+ BINARY_FILE_TYPE_UNI_VER : '.ver',\r
+ BINARY_FILE_TYPE_VER : '.ver',\r
+ BINARY_FILE_TYPE_UNI_UI : '.ui',\r
+ BINARY_FILE_TYPE_UI : '.ui',\r
+ BINARY_FILE_TYPE_BIN : '.bin',\r
'RAW' : '.raw',\r
'COMPAT16' : '.comp16',\r
- 'FV' : '.fv'\r
+ BINARY_FILE_TYPE_FV : '.fv'\r
}\r
\r
SectFileType = {\r
for File in FfsInf.BinFileList:\r
if File.Arch == TAB_ARCH_COMMON or FfsInf.CurrentArch == File.Arch:\r
if File.Type == FileType or (int(FfsInf.PiSpecVersion, 16) >= 0x0001000A \\r
- and FileType == 'DXE_DPEX'and File.Type == 'SMM_DEPEX') \\r
- or (FileType == 'TE'and File.Type == 'PE32'):\r
+ and FileType == 'DXE_DPEX' and File.Type == BINARY_FILE_TYPE_SMM_DEPEX) \\r
+ or (FileType == BINARY_FILE_TYPE_TE and File.Type == BINARY_FILE_TYPE_PE32):\r
if '*' in FfsInf.TargetOverrideList or File.Target == '*' or File.Target in FfsInf.TargetOverrideList or FfsInf.TargetOverrideList == []:\r
FileList.append(FfsInf.PatchEfiFile(File.Path, File.Type))\r
else:\r
from GenFdsGlobalVariable import GenFdsGlobalVariable\r
from CommonDataClass.FdfClass import UiSectionClassObject\r
from Common.LongFilePathSupport import OpenLongFilePath as open\r
-from Common.DataType import SUP_MODULE_SEC\r
+from Common.DataType import *\r
\r
## generate UI section\r
#\r
self.StringData = FfsInf.__ExtendMacro__(self.StringData)\r
self.FileName = FfsInf.__ExtendMacro__(self.FileName)\r
\r
- OutputFile = os.path.join(OutputPath, ModuleName + SUP_MODULE_SEC + SecNum + Ffs.SectionSuffix.get('UI'))\r
+ OutputFile = os.path.join(OutputPath, ModuleName + SUP_MODULE_SEC + SecNum + Ffs.SectionSuffix.get(BINARY_FILE_TYPE_UI))\r
\r
if self.StringData is not None :\r
NameString = self.StringData\r
from optparse import make_option\r
from Common.BuildToolError import *\r
from Common.Misc import *\r
+from Common.DataType import *\r
from Common.BuildVersion import gBUILD_VERSION\r
import Common.EdkLogger as EdkLogger\r
from Common.LongFilePathSupport import OpenLongFilePath as open\r
FoundTypedef = False\r
TypedefEnd = Index\r
# keep all "typedef struct" except to GUID, EFI_PLABEL and PAL_CALL_RETURN\r
- if Line.strip("} ;\r\n") in ["GUID", "EFI_PLABEL", "PAL_CALL_RETURN"]:\r
+ if Line.strip("} ;\r\n") in [TAB_GUID, "EFI_PLABEL", "PAL_CALL_RETURN"]:\r
for i in range(TypedefStart, TypedefEnd+1):\r
Lines[i] = "\n"\r
\r
def get_length(value):\r
Value = value.strip()\r
if len(value) > 1:\r
- if Value.startswith('GUID') and Value.endswith(')'):\r
+ if Value.startswith(TAB_GUID) and Value.endswith(')'):\r
return 16\r
if Value.startswith('L"') and Value.endswith('"'):\r
return len(Value[2:-1])\r
# dict used to convert old tool name used in [nmake] section to new ones\r
_TOOL_CODE_ = {\r
"C" : "CC",\r
- "LIB" : "SLINK",\r
+ BINARY_FILE_TYPE_LIB : "SLINK",\r
"LINK" : "DLINK",\r
}\r
\r
FileName = "Protocol/%(Key)s/%(Key)s.h" % {"Key" : Key}\r
elif "PPI" in Type:\r
FileName = "Ppi/%(Key)s/%(Key)s.h" % {"Key" : Key}\r
- elif "GUID" in Type:\r
+ elif TAB_GUID in Type:\r
FileName = "Guid/%(Key)s/%(Key)s.h" % {"Key" : Key}\r
else:\r
continue\r
if Wa.FdfProfile:\r
for Fd in Wa.FdfProfile.FdDict:\r
for FdRegion in Wa.FdfProfile.FdDict[Fd].RegionList:\r
- if FdRegion.RegionType != "FV":\r
+ if FdRegion.RegionType != BINARY_FILE_TYPE_FV:\r
continue\r
for FvName in FdRegion.RegionDataList:\r
if FvName in self._FvList:\r
# If the input FdRegion is not a firmware volume,\r
# we are done.\r
#\r
- if self.Type != "FV":\r
+ if self.Type != BINARY_FILE_TYPE_FV:\r
return\r
\r
#\r
FileWrite(File, "Type: %s" % Type)\r
FileWrite(File, "Base Address: 0x%X" % BaseAddress)\r
\r
- if self.Type == "FV":\r
+ if self.Type == BINARY_FILE_TYPE_FV:\r
FvTotalSize = 0\r
FvTakenSize = 0\r
FvFreeSize = 0\r
if (len(self.FvList) > 0):\r
for FvItem in self.FvList:\r
Info = self.FvInfo[FvItem]\r
- self._GenerateReport(File, Info[0], "FV", Info[1], Info[2], FvItem)\r
+ self._GenerateReport(File, Info[0], TAB_FV_DIRECTORY, Info[1], Info[2], FvItem)\r
else:\r
self._GenerateReport(File, "FD Region", self.Type, self.BaseAddress, self.Size)\r
\r
self.BaseAddress = Fd.BaseAddress\r
self.Size = Fd.Size\r
self.FdRegionList = [FdRegionReport(FdRegion, Wa) for FdRegion in Fd.RegionList]\r
- self.FvPath = os.path.join(Wa.BuildDir, "FV")\r
+ self.FvPath = os.path.join(Wa.BuildDir, TAB_FV_DIRECTORY)\r
self.VpdFilePath = os.path.join(self.FvPath, "%s.map" % Wa.Platform.VpdToolGuid)\r
self.VPDBaseAddress = 0\r
self.VPDSize = 0\r