Got it. Reviewed-by: Liming Gao <liming....@intel.com> -----Original Message----- From: Liu, Yingke D [mailto:yingke.d....@intel.com] Sent: Friday, June 12, 2015 8:44 AM To: edk2-devel@lists.sourceforge.net Subject: Re: [edk2] [Patch] BaseTools: Generate a FV EXT entry for FV UI name.
Liming, 1) TotalSize is the EXT header size 2) TotalSize is the whole EXT header size, and it is initianlized with 16 + 4 which is the size of EFI_FIRMWARE_VOLUME_EXT_HEADER. Dennis -----Original Message----- From: Gao, Liming [mailto:liming....@intel.com] Sent: Thursday, June 11, 2015 23:18 To: edk2-devel@lists.sourceforge.net Subject: Re: [edk2] [Patch] BaseTools: Generate a FV EXT entry for FV UI name. Dennis: Two comments are here. 1) Do you update EXT header size filed to include this EXT entry? 2) EXT entry size is recorded in totalsize. How about directly use totalsize in the following code? -----Original Message----- From: Yingke Liu [mailto:yingke.d....@intel.com] Sent: Thursday, June 11, 2015 4:21 PM To: edk2-devel@lists.sourceforge.net Subject: [edk2] [Patch] BaseTools: Generate a FV EXT entry for FV UI name. This patch also removed a warning message. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yingke Liu <yingke.d....@intel.com> --- BaseTools/Source/Python/AutoGen/AutoGen.py | 1 - BaseTools/Source/Python/GenFds/Fv.py | 21 +++++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/BaseTools/Source/Python/AutoGen/AutoGen.py b/BaseTools/Source/Python/AutoGen/AutoGen.py index 996b654..0e7482a 100644 --- a/BaseTools/Source/Python/AutoGen/AutoGen.py +++ b/BaseTools/Source/Python/AutoGen/AutoGen.py @@ -2297,7 +2297,6 @@ class ModuleAutoGen(AutoGen): if Module.MetaFile == self.MetaFile: continue if Module.Name == self.Name: - EdkLogger.warn('build', 'Modules have same BaseName:\n %s\n %s' % (Module.MetaFile, self.MetaFile)) if uuid.UUID(Module.Guid) == uuid.UUID(self.Guid): EdkLogger.error("build", FILE_DUPLICATED, 'Modules have same BaseName and FILE_GUID:\n' ' %s\n %s' % (Module.MetaFile, self.MetaFile)) diff --git a/BaseTools/Source/Python/GenFds/Fv.py b/BaseTools/Source/Python/GenFds/Fv.py index 03a7426..8f341d3 100644 --- a/BaseTools/Source/Python/GenFds/Fv.py +++ b/BaseTools/Source/Python/GenFds/Fv.py @@ -30,6 +30,7 @@ from Common.LongFilePathSupport import CopyLongFilePath from Common.LongFilePathSupport import OpenLongFilePath as open T_CHAR_LF = '\n' +FV_UI_EXT_ENTY_GUID = 'A67DF1FA-8DE8-4E98-AF09-4BDF2EFFBC7C' ## generate FV # @@ -295,6 +296,26 @@ class FV (FvClassObject): if self.FvNameGuid <> None and self.FvNameGuid <> '': TotalSize = 16 + 4 Buffer = '' + # + # Create EXT entry for FV UI name + # This GUID is used: A67DF1FA-8DE8-4E98-AF09-4BDF2EFFBC7C + # + FvUiLen = len(self.UiFvName) + TotalSize += (FvUiLen + 16 + 4) + Guid = FV_UI_EXT_ENTY_GUID.split('-') + # + # Layout: + # EFI_FIRMWARE_VOLUME_EXT_ENTRY : size 4 + # GUID : size 16 + # FV UI name + # + Buffer += (pack('HH', (FvUiLen + 16 + 4), 0x0002) + + pack('=LHHBBBBBBBB', int(Guid[0], 16), int(Guid[1], 16), int(Guid[2], 16), + int(Guid[3][-4:-2], 16), int(Guid[3][-2:], 16), int(Guid[4][-12:-10], 16), + int(Guid[4][-10:-8], 16), int(Guid[4][-8:-6], 16), int(Guid[4][-6:-4], 16), + int(Guid[4][-4:-2], 16), int(Guid[4][-2:], 16)) + + self.UiFvName) + for Index in range (0, len(self.FvExtEntryType)): if self.FvExtEntryType[Index] == 'FILE': # check if the path is absolute or relative -- 1.9.5.msysgit.0 ------------------------------------------------------------------------------ _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel ------------------------------------------------------------------------------ _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel ------------------------------------------------------------------------------ _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel ------------------------------------------------------------------------------ _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel