X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=BaseTools%2FSource%2FPython%2FGenFds%2FFv.py;h=163ccd37f1582a03a3056bae04e587801dfa51a7;hp=df97ccbab6484fd74d85b09c8429d11d26bd5055;hb=ca9d6d7962a7ed07ebde22fdde7543d4d0f6cd66;hpb=eadb60d96f3aec44ad58b31cb3c30b3e68e288c1 diff --git a/BaseTools/Source/Python/GenFds/Fv.py b/BaseTools/Source/Python/GenFds/Fv.py index df97ccbab6..163ccd37f1 100644 --- a/BaseTools/Source/Python/GenFds/Fv.py +++ b/BaseTools/Source/Python/GenFds/Fv.py @@ -181,33 +181,30 @@ class FV (FvClassObject): # # Write the Fv contents to Buffer # - if os.path.isfile(FvOutputFile): - FvFileObj = open ( FvOutputFile,'r+b') + FvFileObj = open ( FvOutputFile,'r+b') - GenFdsGlobalVariable.VerboseLogger( "\nGenerate %s FV Successfully" %self.UiFvName) - GenFdsGlobalVariable.SharpCounter = 0 + GenFdsGlobalVariable.VerboseLogger( "\nGenerate %s FV Successfully" %self.UiFvName) + GenFdsGlobalVariable.SharpCounter = 0 - Buffer.write(FvFileObj.read()) - FvFileObj.seek(0) - # PI FvHeader is 0x48 byte - FvHeaderBuffer = FvFileObj.read(0x48) - # FV alignment position. - FvAlignmentValue = 1 << (ord (FvHeaderBuffer[0x2E]) & 0x1F) - # FvAlignmentValue is larger than or equal to 1K - if FvAlignmentValue >= 0x400: - if FvAlignmentValue >= 0x10000: - #The max alignment supported by FFS is 64K. - self.FvAlignment = "64K" - else: - self.FvAlignment = str (FvAlignmentValue / 0x400) + "K" + Buffer.write(FvFileObj.read()) + FvFileObj.seek(0) + # PI FvHeader is 0x48 byte + FvHeaderBuffer = FvFileObj.read(0x48) + # FV alignment position. + FvAlignmentValue = 1 << (ord (FvHeaderBuffer[0x2E]) & 0x1F) + # FvAlignmentValue is larger than or equal to 1K + if FvAlignmentValue >= 0x400: + if FvAlignmentValue >= 0x10000: + #The max alignment supported by FFS is 64K. + self.FvAlignment = "64K" else: - # FvAlignmentValue is less than 1K - self.FvAlignment = str (FvAlignmentValue) - FvFileObj.close() - GenFds.ImageBinDict[self.UiFvName.upper() + 'fv'] = FvOutputFile - GenFdsGlobalVariable.LargeFileInFvFlags.pop() + self.FvAlignment = str (FvAlignmentValue / 0x400) + "K" else: - GenFdsGlobalVariable.ErrorLogger("Failed to generate %s FV file." %self.UiFvName) + # FvAlignmentValue is less than 1K + self.FvAlignment = str (FvAlignmentValue) + FvFileObj.close() + GenFds.ImageBinDict[self.UiFvName.upper() + 'fv'] = FvOutputFile + GenFdsGlobalVariable.LargeFileInFvFlags.pop() return FvOutputFile ## _GetBlockSize()