From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.120; helo=mga04.intel.com; envelope-from=bob.c.feng@intel.com; receiver=edk2-devel@lists.01.org Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id C7CDA211B5086 for ; Tue, 8 Jan 2019 22:44:39 -0800 (PST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 08 Jan 2019 22:44:39 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,456,1539673200"; d="scan'208";a="290073014" Received: from shwdepsi1121.ccr.corp.intel.com ([10.239.158.47]) by orsmga005.jf.intel.com with ESMTP; 08 Jan 2019 22:44:37 -0800 From: BobCF To: edk2-devel@lists.01.org Cc: "Feng, Bob C" , Liming Gao , Jaben Carsey Date: Wed, 9 Jan 2019 14:44:36 +0800 Message-Id: <20190109064436.61664-1-bob.c.feng@intel.com> X-Mailer: git-send-email 2.19.1.windows.1 MIME-Version: 1.0 Subject: [Patch 2/3] BaseTools: Remove unused logic for IPF X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Jan 2019 06:44:40 -0000 Content-Transfer-Encoding: 8bit From: "Feng, Bob C" Remove IPF support from BaseTools C code. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Bob Feng Cc: Liming Gao Cc: Jaben Carsey --- BaseTools/Source/Python/Common/DataType.py | 19 +- .../Source/Python/CommonDataClass/FdfClass.py | 20 -- BaseTools/Source/Python/Eot/EotMain.py | 2 - .../Python/GenFds/ComponentStatement.py | 29 --- BaseTools/Source/Python/GenFds/Fd.py | 56 +---- BaseTools/Source/Python/GenFds/FdfParser.py | 223 +----------------- BaseTools/Source/Python/GenFds/Fv.py | 12 +- BaseTools/Source/Python/GenFds/GenFds.py | 11 +- .../Python/GenFds/GenFdsGlobalVariable.py | 1 - BaseTools/Source/Python/GenFds/Region.py | 5 +- BaseTools/Source/Python/GenFds/Vtf.py | 200 ---------------- .../Source/Python/TargetTool/TargetTool.py | 4 +- BaseTools/Source/Python/build/build.py | 20 +- 13 files changed, 20 insertions(+), 582 deletions(-) delete mode 100644 BaseTools/Source/Python/GenFds/ComponentStatement.py delete mode 100644 BaseTools/Source/Python/GenFds/Vtf.py diff --git a/BaseTools/Source/Python/Common/DataType.py b/BaseTools/Source/Python/Common/DataType.py index ec0a4f3d59..798c0e353d 100644 --- a/BaseTools/Source/Python/Common/DataType.py +++ b/BaseTools/Source/Python/Common/DataType.py @@ -52,16 +52,15 @@ TAB_FV_DIRECTORY = 'FV' TAB_ARCH_NULL = '' TAB_ARCH_COMMON = 'COMMON' TAB_ARCH_IA32 = 'IA32' TAB_ARCH_X64 = 'X64' -TAB_ARCH_IPF = 'IPF' TAB_ARCH_ARM = 'ARM' TAB_ARCH_EBC = 'EBC' TAB_ARCH_AARCH64 = 'AARCH64' -ARCH_SET_FULL = {TAB_ARCH_IA32, TAB_ARCH_X64, TAB_ARCH_IPF, TAB_ARCH_ARM, TAB_ARCH_EBC, TAB_ARCH_AARCH64, TAB_ARCH_COMMON} +ARCH_SET_FULL = {TAB_ARCH_IA32, TAB_ARCH_X64, TAB_ARCH_ARM, TAB_ARCH_EBC, TAB_ARCH_AARCH64, TAB_ARCH_COMMON} SUP_MODULE_BASE = 'BASE' SUP_MODULE_SEC = 'SEC' SUP_MODULE_PEI_CORE = 'PEI_CORE' SUP_MODULE_PEIM = 'PEIM' @@ -134,74 +133,66 @@ PLATFORM_COMPONENT_TYPE_MODULE = 'MODULE' TAB_SOURCES = 'Sources' TAB_SOURCES_COMMON = TAB_SOURCES + TAB_SPLIT + TAB_ARCH_COMMON TAB_SOURCES_IA32 = TAB_SOURCES + TAB_SPLIT + TAB_ARCH_IA32 TAB_SOURCES_X64 = TAB_SOURCES + TAB_SPLIT + TAB_ARCH_X64 -TAB_SOURCES_IPF = TAB_SOURCES + TAB_SPLIT + TAB_ARCH_IPF TAB_SOURCES_ARM = TAB_SOURCES + TAB_SPLIT + TAB_ARCH_ARM TAB_SOURCES_EBC = TAB_SOURCES + TAB_SPLIT + TAB_ARCH_EBC TAB_SOURCES_AARCH64 = TAB_SOURCES + TAB_SPLIT + TAB_ARCH_AARCH64 TAB_BINARIES = 'Binaries' TAB_BINARIES_COMMON = TAB_BINARIES + TAB_SPLIT + TAB_ARCH_COMMON TAB_BINARIES_IA32 = TAB_BINARIES + TAB_SPLIT + TAB_ARCH_IA32 TAB_BINARIES_X64 = TAB_BINARIES + TAB_SPLIT + TAB_ARCH_X64 -TAB_BINARIES_IPF = TAB_BINARIES + TAB_SPLIT + TAB_ARCH_IPF TAB_BINARIES_ARM = TAB_BINARIES + TAB_SPLIT + TAB_ARCH_ARM TAB_BINARIES_EBC = TAB_BINARIES + TAB_SPLIT + TAB_ARCH_EBC TAB_BINARIES_AARCH64 = TAB_BINARIES + TAB_SPLIT + TAB_ARCH_AARCH64 TAB_INCLUDES = 'Includes' TAB_INCLUDES_COMMON = TAB_INCLUDES + TAB_SPLIT + TAB_ARCH_COMMON TAB_INCLUDES_IA32 = TAB_INCLUDES + TAB_SPLIT + TAB_ARCH_IA32 TAB_INCLUDES_X64 = TAB_INCLUDES + TAB_SPLIT + TAB_ARCH_X64 -TAB_INCLUDES_IPF = TAB_INCLUDES + TAB_SPLIT + TAB_ARCH_IPF TAB_INCLUDES_ARM = TAB_INCLUDES + TAB_SPLIT + TAB_ARCH_ARM TAB_INCLUDES_EBC = TAB_INCLUDES + TAB_SPLIT + TAB_ARCH_EBC TAB_INCLUDES_AARCH64 = TAB_INCLUDES + TAB_SPLIT + TAB_ARCH_AARCH64 TAB_GUIDS = 'Guids' TAB_GUIDS_COMMON = TAB_GUIDS + TAB_SPLIT + TAB_ARCH_COMMON TAB_GUIDS_IA32 = TAB_GUIDS + TAB_SPLIT + TAB_ARCH_IA32 TAB_GUIDS_X64 = TAB_GUIDS + TAB_SPLIT + TAB_ARCH_X64 -TAB_GUIDS_IPF = TAB_GUIDS + TAB_SPLIT + TAB_ARCH_IPF TAB_GUIDS_ARM = TAB_GUIDS + TAB_SPLIT + TAB_ARCH_ARM TAB_GUIDS_EBC = TAB_GUIDS + TAB_SPLIT + TAB_ARCH_EBC TAB_GUIDS_AARCH64 = TAB_GUIDS + TAB_SPLIT + TAB_ARCH_AARCH64 TAB_PROTOCOLS = 'Protocols' TAB_PROTOCOLS_COMMON = TAB_PROTOCOLS + TAB_SPLIT + TAB_ARCH_COMMON TAB_PROTOCOLS_IA32 = TAB_PROTOCOLS + TAB_SPLIT + TAB_ARCH_IA32 TAB_PROTOCOLS_X64 = TAB_PROTOCOLS + TAB_SPLIT + TAB_ARCH_X64 -TAB_PROTOCOLS_IPF = TAB_PROTOCOLS + TAB_SPLIT + TAB_ARCH_IPF TAB_PROTOCOLS_ARM = TAB_PROTOCOLS + TAB_SPLIT + TAB_ARCH_ARM TAB_PROTOCOLS_EBC = TAB_PROTOCOLS + TAB_SPLIT + TAB_ARCH_EBC TAB_PROTOCOLS_AARCH64 = TAB_PROTOCOLS + TAB_SPLIT + TAB_ARCH_AARCH64 TAB_PPIS = 'Ppis' TAB_PPIS_COMMON = TAB_PPIS + TAB_SPLIT + TAB_ARCH_COMMON TAB_PPIS_IA32 = TAB_PPIS + TAB_SPLIT + TAB_ARCH_IA32 TAB_PPIS_X64 = TAB_PPIS + TAB_SPLIT + TAB_ARCH_X64 -TAB_PPIS_IPF = TAB_PPIS + TAB_SPLIT + TAB_ARCH_IPF TAB_PPIS_ARM = TAB_PPIS + TAB_SPLIT + TAB_ARCH_ARM TAB_PPIS_EBC = TAB_PPIS + TAB_SPLIT + TAB_ARCH_EBC TAB_PPIS_AARCH64 = TAB_PPIS + TAB_SPLIT + TAB_ARCH_AARCH64 TAB_LIBRARY_CLASSES = 'LibraryClasses' TAB_LIBRARY_CLASSES_COMMON = TAB_LIBRARY_CLASSES + TAB_SPLIT + TAB_ARCH_COMMON TAB_LIBRARY_CLASSES_IA32 = TAB_LIBRARY_CLASSES + TAB_SPLIT + TAB_ARCH_IA32 TAB_LIBRARY_CLASSES_X64 = TAB_LIBRARY_CLASSES + TAB_SPLIT + TAB_ARCH_X64 -TAB_LIBRARY_CLASSES_IPF = TAB_LIBRARY_CLASSES + TAB_SPLIT + TAB_ARCH_IPF TAB_LIBRARY_CLASSES_ARM = TAB_LIBRARY_CLASSES + TAB_SPLIT + TAB_ARCH_ARM TAB_LIBRARY_CLASSES_EBC = TAB_LIBRARY_CLASSES + TAB_SPLIT + TAB_ARCH_EBC TAB_LIBRARY_CLASSES_AARCH64 = TAB_LIBRARY_CLASSES + TAB_SPLIT + TAB_ARCH_AARCH64 TAB_PACKAGES = 'Packages' TAB_PACKAGES_COMMON = TAB_PACKAGES + TAB_SPLIT + TAB_ARCH_COMMON TAB_PACKAGES_IA32 = TAB_PACKAGES + TAB_SPLIT + TAB_ARCH_IA32 TAB_PACKAGES_X64 = TAB_PACKAGES + TAB_SPLIT + TAB_ARCH_X64 -TAB_PACKAGES_IPF = TAB_PACKAGES + TAB_SPLIT + TAB_ARCH_IPF TAB_PACKAGES_ARM = TAB_PACKAGES + TAB_SPLIT + TAB_ARCH_ARM TAB_PACKAGES_EBC = TAB_PACKAGES + TAB_SPLIT + TAB_ARCH_EBC TAB_PACKAGES_AARCH64 = TAB_PACKAGES + TAB_SPLIT + TAB_ARCH_AARCH64 TAB_PCDS = 'Pcds' @@ -225,29 +216,26 @@ PCD_TYPE_LIST = [TAB_PCDS_FIXED_AT_BUILD, TAB_PCDS_PATCHABLE_IN_MODULE, TAB_PCDS 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 TAB_PCDS_FIXED_AT_BUILD_IA32 = TAB_PCDS + TAB_PCDS_FIXED_AT_BUILD + TAB_SPLIT + TAB_ARCH_IA32 TAB_PCDS_FIXED_AT_BUILD_X64 = TAB_PCDS + TAB_PCDS_FIXED_AT_BUILD + TAB_SPLIT + TAB_ARCH_X64 -TAB_PCDS_FIXED_AT_BUILD_IPF = TAB_PCDS + TAB_PCDS_FIXED_AT_BUILD + TAB_SPLIT + TAB_ARCH_IPF TAB_PCDS_FIXED_AT_BUILD_ARM = TAB_PCDS + TAB_PCDS_FIXED_AT_BUILD + TAB_SPLIT + TAB_ARCH_ARM TAB_PCDS_FIXED_AT_BUILD_EBC = TAB_PCDS + TAB_PCDS_FIXED_AT_BUILD + TAB_SPLIT + TAB_ARCH_EBC TAB_PCDS_FIXED_AT_BUILD_AARCH64 = TAB_PCDS + TAB_PCDS_FIXED_AT_BUILD + TAB_SPLIT + TAB_ARCH_AARCH64 TAB_PCDS_PATCHABLE_IN_MODULE_NULL = TAB_PCDS + TAB_PCDS_PATCHABLE_IN_MODULE TAB_PCDS_PATCHABLE_IN_MODULE_COMMON = TAB_PCDS + TAB_PCDS_PATCHABLE_IN_MODULE + TAB_SPLIT + TAB_ARCH_COMMON TAB_PCDS_PATCHABLE_IN_MODULE_IA32 = TAB_PCDS + TAB_PCDS_PATCHABLE_IN_MODULE + TAB_SPLIT + TAB_ARCH_IA32 TAB_PCDS_PATCHABLE_IN_MODULE_X64 = TAB_PCDS + TAB_PCDS_PATCHABLE_IN_MODULE + TAB_SPLIT + TAB_ARCH_X64 -TAB_PCDS_PATCHABLE_IN_MODULE_IPF = TAB_PCDS + TAB_PCDS_PATCHABLE_IN_MODULE + TAB_SPLIT + TAB_ARCH_IPF TAB_PCDS_PATCHABLE_IN_MODULE_ARM = TAB_PCDS + TAB_PCDS_PATCHABLE_IN_MODULE + TAB_SPLIT + TAB_ARCH_ARM TAB_PCDS_PATCHABLE_IN_MODULE_EBC = TAB_PCDS + TAB_PCDS_PATCHABLE_IN_MODULE + TAB_SPLIT + TAB_ARCH_EBC TAB_PCDS_PATCHABLE_IN_MODULE_AARCH64 = TAB_PCDS + TAB_PCDS_PATCHABLE_IN_MODULE + TAB_SPLIT + TAB_ARCH_AARCH64 TAB_PCDS_FEATURE_FLAG_NULL = TAB_PCDS + TAB_PCDS_FEATURE_FLAG TAB_PCDS_FEATURE_FLAG_COMMON = TAB_PCDS + TAB_PCDS_FEATURE_FLAG + TAB_SPLIT + TAB_ARCH_COMMON TAB_PCDS_FEATURE_FLAG_IA32 = TAB_PCDS + TAB_PCDS_FEATURE_FLAG + TAB_SPLIT + TAB_ARCH_IA32 TAB_PCDS_FEATURE_FLAG_X64 = TAB_PCDS + TAB_PCDS_FEATURE_FLAG + TAB_SPLIT + TAB_ARCH_X64 -TAB_PCDS_FEATURE_FLAG_IPF = TAB_PCDS + TAB_PCDS_FEATURE_FLAG + TAB_SPLIT + TAB_ARCH_IPF TAB_PCDS_FEATURE_FLAG_ARM = TAB_PCDS + TAB_PCDS_FEATURE_FLAG + TAB_SPLIT + TAB_ARCH_ARM TAB_PCDS_FEATURE_FLAG_EBC = TAB_PCDS + TAB_PCDS_FEATURE_FLAG + TAB_SPLIT + TAB_ARCH_EBC TAB_PCDS_FEATURE_FLAG_AARCH64 = TAB_PCDS + TAB_PCDS_FEATURE_FLAG + TAB_SPLIT + TAB_ARCH_AARCH64 TAB_PCDS_DYNAMIC_EX_NULL = TAB_PCDS + TAB_PCDS_DYNAMIC_EX @@ -255,11 +243,10 @@ TAB_PCDS_DYNAMIC_EX_DEFAULT_NULL = TAB_PCDS + TAB_PCDS_DYNAMIC_EX_DEFAULT TAB_PCDS_DYNAMIC_EX_HII_NULL = TAB_PCDS + TAB_PCDS_DYNAMIC_EX_HII TAB_PCDS_DYNAMIC_EX_VPD_NULL = TAB_PCDS + TAB_PCDS_DYNAMIC_EX_VPD TAB_PCDS_DYNAMIC_EX_COMMON = TAB_PCDS + TAB_PCDS_DYNAMIC_EX + TAB_SPLIT + TAB_ARCH_COMMON TAB_PCDS_DYNAMIC_EX_IA32 = TAB_PCDS + TAB_PCDS_DYNAMIC_EX + TAB_SPLIT + TAB_ARCH_IA32 TAB_PCDS_DYNAMIC_EX_X64 = TAB_PCDS + TAB_PCDS_DYNAMIC_EX + TAB_SPLIT + TAB_ARCH_X64 -TAB_PCDS_DYNAMIC_EX_IPF = TAB_PCDS + TAB_PCDS_DYNAMIC_EX + TAB_SPLIT + TAB_ARCH_IPF TAB_PCDS_DYNAMIC_EX_ARM = TAB_PCDS + TAB_PCDS_DYNAMIC_EX + TAB_SPLIT + TAB_ARCH_ARM TAB_PCDS_DYNAMIC_EX_EBC = TAB_PCDS + TAB_PCDS_DYNAMIC_EX + TAB_SPLIT + TAB_ARCH_EBC TAB_PCDS_DYNAMIC_EX_AARCH64 = TAB_PCDS + TAB_PCDS_DYNAMIC_EX + TAB_SPLIT + TAB_ARCH_AARCH64 TAB_PCDS_DYNAMIC_NULL = TAB_PCDS + TAB_PCDS_DYNAMIC @@ -267,11 +254,10 @@ TAB_PCDS_DYNAMIC_DEFAULT_NULL = TAB_PCDS + TAB_PCDS_DYNAMIC_DEFAULT TAB_PCDS_DYNAMIC_HII_NULL = TAB_PCDS + TAB_PCDS_DYNAMIC_HII TAB_PCDS_DYNAMIC_VPD_NULL = TAB_PCDS + TAB_PCDS_DYNAMIC_VPD TAB_PCDS_DYNAMIC_COMMON = TAB_PCDS + TAB_PCDS_DYNAMIC + TAB_SPLIT + TAB_ARCH_COMMON TAB_PCDS_DYNAMIC_IA32 = TAB_PCDS + TAB_PCDS_DYNAMIC + TAB_SPLIT + TAB_ARCH_IA32 TAB_PCDS_DYNAMIC_X64 = TAB_PCDS + TAB_PCDS_DYNAMIC + TAB_SPLIT + TAB_ARCH_X64 -TAB_PCDS_DYNAMIC_IPF = TAB_PCDS + TAB_PCDS_DYNAMIC + TAB_SPLIT + TAB_ARCH_IPF 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_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_PEI_PAGE_SIZE = 'PcdLoadFixAddressPeiCodePageNumber' @@ -294,11 +280,10 @@ MAX_SIZE_TYPE = {"BOOLEAN":1, TAB_UINT8:1, TAB_UINT16:2, TAB_UINT32:4, TAB_UINT6 TAB_DEPEX = 'Depex' TAB_DEPEX_COMMON = TAB_DEPEX + TAB_SPLIT + TAB_ARCH_COMMON TAB_DEPEX_IA32 = TAB_DEPEX + TAB_SPLIT + TAB_ARCH_IA32 TAB_DEPEX_X64 = TAB_DEPEX + TAB_SPLIT + TAB_ARCH_X64 -TAB_DEPEX_IPF = TAB_DEPEX + TAB_SPLIT + TAB_ARCH_IPF TAB_DEPEX_ARM = TAB_DEPEX + TAB_SPLIT + TAB_ARCH_ARM TAB_DEPEX_EBC = TAB_DEPEX + TAB_SPLIT + TAB_ARCH_EBC TAB_DEPEX_AARCH64 = TAB_DEPEX + TAB_SPLIT + TAB_ARCH_AARCH64 TAB_SKUIDS = 'SkuIds' @@ -307,20 +292,18 @@ TAB_DEFAULT_STORES_DEFAULT = 'STANDARD' TAB_LIBRARIES = 'Libraries' TAB_LIBRARIES_COMMON = TAB_LIBRARIES + TAB_SPLIT + TAB_ARCH_COMMON TAB_LIBRARIES_IA32 = TAB_LIBRARIES + TAB_SPLIT + TAB_ARCH_IA32 TAB_LIBRARIES_X64 = TAB_LIBRARIES + TAB_SPLIT + TAB_ARCH_X64 -TAB_LIBRARIES_IPF = TAB_LIBRARIES + TAB_SPLIT + TAB_ARCH_IPF TAB_LIBRARIES_ARM = TAB_LIBRARIES + TAB_SPLIT + TAB_ARCH_ARM TAB_LIBRARIES_EBC = TAB_LIBRARIES + TAB_SPLIT + TAB_ARCH_EBC TAB_LIBRARIES_AARCH64 = TAB_LIBRARIES + TAB_SPLIT + TAB_ARCH_AARCH64 TAB_COMPONENTS = 'Components' TAB_COMPONENTS_COMMON = TAB_COMPONENTS + TAB_SPLIT + TAB_ARCH_COMMON TAB_COMPONENTS_IA32 = TAB_COMPONENTS + TAB_SPLIT + TAB_ARCH_IA32 TAB_COMPONENTS_X64 = TAB_COMPONENTS + TAB_SPLIT + TAB_ARCH_X64 -TAB_COMPONENTS_IPF = TAB_COMPONENTS + TAB_SPLIT + TAB_ARCH_IPF TAB_COMPONENTS_ARM = TAB_COMPONENTS + TAB_SPLIT + TAB_ARCH_ARM TAB_COMPONENTS_EBC = TAB_COMPONENTS + TAB_SPLIT + TAB_ARCH_EBC TAB_COMPONENTS_AARCH64 = TAB_COMPONENTS + TAB_SPLIT + TAB_ARCH_AARCH64 TAB_COMPONENTS_SOURCE_OVERRIDE_PATH = 'SOURCE_OVERRIDE_PATH' diff --git a/BaseTools/Source/Python/CommonDataClass/FdfClass.py b/BaseTools/Source/Python/CommonDataClass/FdfClass.py index 3df8208245..0fb54d8914 100644 --- a/BaseTools/Source/Python/CommonDataClass/FdfClass.py +++ b/BaseTools/Source/Python/CommonDataClass/FdfClass.py @@ -33,11 +33,10 @@ class FDClassObject: # DefineVarDict[var] = value self.DefineVarDict = {} # SetVarDict[var] = value self.SetVarDict = {} self.RegionList = [] - self.vtfRawDict = {} ## FFS data in FDF # # class FfsClassObject: @@ -303,29 +302,10 @@ class CapsuleClassObject : # TokensDict[var] = value self.TokensDict = {} self.CapsuleDataList = [] self.FmpPayloadList = [] -## VTF component data in FDF -# -# -class ComponentStatementClassObject : - ## The constructor - # - # @param self The object pointer - # - def __init__(self): - self.CompName = None - self.CompLoc = None - self.CompType = None - self.CompVer = None - self.CompCs = None - self.CompBin = None - self.CompSym = None - self.CompSize = None - self.FilePos = None - ## OptionROM data in FDF # # class OptionRomClassObject: ## The constructor diff --git a/BaseTools/Source/Python/Eot/EotMain.py b/BaseTools/Source/Python/Eot/EotMain.py index 7eae4ac672..fd4bee6f90 100644 --- a/BaseTools/Source/Python/Eot/EotMain.py +++ b/BaseTools/Source/Python/Eot/EotMain.py @@ -927,12 +927,10 @@ class Ffs(Image): _TYPE_ = struct.Struct("18x 1B") _ATTR_ = struct.Struct("19x 1B") _SIZE_ = struct.Struct("20x 3B") _STATE_ = struct.Struct("23x 1B") - VTF_GUID = "1BA0062E-C779-4582-8566-336AE8F78F09" - FFS_ATTRIB_FIXED = 0x04 FFS_ATTRIB_DATA_ALIGNMENT = 0x38 FFS_ATTRIB_CHECKSUM = 0x40 _TypeName = { diff --git a/BaseTools/Source/Python/GenFds/ComponentStatement.py b/BaseTools/Source/Python/GenFds/ComponentStatement.py deleted file mode 100644 index 1cf926155b..0000000000 --- a/BaseTools/Source/Python/GenFds/ComponentStatement.py +++ /dev/null @@ -1,29 +0,0 @@ -## @file -# VTF components -# -# Copyright (c) 2007, Intel Corporation. All rights reserved.
-# -# This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# - -## -# Import Modules -# -from CommonDataClass.FdfClass import ComponentStatementClassObject - -## VTF components -# -# -class ComponentStatement (ComponentStatementClassObject) : - ## The constructor - # - # @param self The object pointer - # - def __init__(self): - ComponentStatementClassObject.__init__(self) diff --git a/BaseTools/Source/Python/GenFds/Fd.py b/BaseTools/Source/Python/GenFds/Fd.py index bfae121798..9c43a62cc3 100644 --- a/BaseTools/Source/Python/GenFds/Fd.py +++ b/BaseTools/Source/Python/GenFds/Fd.py @@ -64,13 +64,10 @@ class FD(FDClassObject): EdkLogger.error("GenFds", GENFDS_ERROR, 'FD %s Size not consistent with block array' % self.FdUiName) GenFdsGlobalVariable.VerboseLogger('Following Fv will be add to Fd !!!') for FvObj in GenFdsGlobalVariable.FdfParser.Profile.FvDict: GenFdsGlobalVariable.VerboseLogger(FvObj) - GenFdsGlobalVariable.VerboseLogger('################### Gen VTF ####################') - self.GenVtfFile() - HasCapsuleRegion = False for RegionObj in self.RegionList: if RegionObj.RegionType == 'CAPSULE': HasCapsuleRegion = True break @@ -91,20 +88,20 @@ class FD(FDClassObject): GenFdsGlobalVariable.InfLogger('Padding region starting from offset 0x%X, with size 0x%X' %(PreviousRegionStart + PreviousRegionSize, RegionObj.Offset - (PreviousRegionStart + PreviousRegionSize))) PadRegion = Region.Region() PadRegion.Offset = PreviousRegionStart + PreviousRegionSize PadRegion.Size = RegionObj.Offset - PadRegion.Offset if not Flag: - PadRegion.AddToBuffer(TempFdBuffer, self.BaseAddress, self.BlockSizeList, self.ErasePolarity, GenFdsGlobalVariable.ImageBinDict, self.vtfRawDict, self.DefineVarDict) + PadRegion.AddToBuffer(TempFdBuffer, self.BaseAddress, self.BlockSizeList, self.ErasePolarity, GenFdsGlobalVariable.ImageBinDict, self.DefineVarDict) PreviousRegionStart = RegionObj.Offset PreviousRegionSize = RegionObj.Size # # Call each region's AddToBuffer function # if PreviousRegionSize > self.Size: pass GenFdsGlobalVariable.VerboseLogger('Call each region\'s AddToBuffer function') - RegionObj.AddToBuffer (TempFdBuffer, self.BaseAddress, self.BlockSizeList, self.ErasePolarity, GenFdsGlobalVariable.ImageBinDict, self.vtfRawDict, self.DefineVarDict) + RegionObj.AddToBuffer (TempFdBuffer, self.BaseAddress, self.BlockSizeList, self.ErasePolarity, GenFdsGlobalVariable.ImageBinDict, self.DefineVarDict) FdBuffer = BytesIO('') PreviousRegionStart = -1 PreviousRegionSize = 1 for RegionObj in self.RegionList : @@ -121,11 +118,11 @@ class FD(FDClassObject): GenFdsGlobalVariable.InfLogger('Padding region starting from offset 0x%X, with size 0x%X' %(PreviousRegionStart + PreviousRegionSize, RegionObj.Offset - (PreviousRegionStart + PreviousRegionSize))) PadRegion = Region.Region() PadRegion.Offset = PreviousRegionStart + PreviousRegionSize PadRegion.Size = RegionObj.Offset - PadRegion.Offset if not Flag: - PadRegion.AddToBuffer(FdBuffer, self.BaseAddress, self.BlockSizeList, self.ErasePolarity, GenFdsGlobalVariable.ImageBinDict, self.vtfRawDict, self.DefineVarDict) + PadRegion.AddToBuffer(FdBuffer, self.BaseAddress, self.BlockSizeList, self.ErasePolarity, GenFdsGlobalVariable.ImageBinDict, self.DefineVarDict) PreviousRegionStart = RegionObj.Offset PreviousRegionSize = RegionObj.Size # # Verify current region fits within allocated FD section Size # @@ -135,66 +132,21 @@ class FD(FDClassObject): % (self.FdUiName, PreviousRegionStart, PreviousRegionSize)) # # Call each region's AddToBuffer function # GenFdsGlobalVariable.VerboseLogger('Call each region\'s AddToBuffer function') - RegionObj.AddToBuffer (FdBuffer, self.BaseAddress, self.BlockSizeList, self.ErasePolarity, GenFdsGlobalVariable.ImageBinDict, self.vtfRawDict, self.DefineVarDict, Flag=Flag) + RegionObj.AddToBuffer (FdBuffer, self.BaseAddress, self.BlockSizeList, self.ErasePolarity, GenFdsGlobalVariable.ImageBinDict, self.DefineVarDict, Flag=Flag) # # Write the buffer contents to Fd file # GenFdsGlobalVariable.VerboseLogger('Write the buffer contents to Fd file') if not Flag: SaveFileOnChange(FdFileName, FdBuffer.getvalue()) FdBuffer.close() GenFdsGlobalVariable.ImageBinDict[self.FdUiName.upper() + 'fd'] = FdFileName return FdFileName - ## generate VTF - # - # @param self The object pointer - # - def GenVtfFile (self) : - # - # Get this Fd's all Fv name - # - FvAddDict ={} - FvList = [] - for RegionObj in self.RegionList: - if RegionObj.RegionType == BINARY_FILE_TYPE_FV: - if len(RegionObj.RegionDataList) == 1: - RegionData = RegionObj.RegionDataList[0] - FvList.append(RegionData.upper()) - FvAddDict[RegionData.upper()] = (int(self.BaseAddress, 16) + \ - RegionObj.Offset, RegionObj.Size) - else: - Offset = RegionObj.Offset - for RegionData in RegionObj.RegionDataList: - FvList.append(RegionData.upper()) - FvObj = GenFdsGlobalVariable.FdfParser.Profile.FvDict.get(RegionData.upper()) - if len(FvObj.BlockSizeList) < 1: - EdkLogger.error("GenFds", GENFDS_ERROR, - 'FV.%s must point out FVs blocksize and Fv BlockNum' \ - % FvObj.UiFvName) - else: - Size = 0 - for blockStatement in FvObj.BlockSizeList: - Size = Size + blockStatement[0] * blockStatement[1] - FvAddDict[RegionData.upper()] = (int(self.BaseAddress, 16) + \ - Offset, Size) - Offset = Offset + Size - # - # Check whether this Fd need VTF - # - Flag = False - for VtfObj in GenFdsGlobalVariable.FdfParser.Profile.VtfList: - compLocList = VtfObj.GetFvList() - if set(compLocList).issubset(FvList): - Flag = True - break - if Flag == True: - self.vtfRawDict = VtfObj.GenVtf(FvAddDict) - ## generate flash map file # # @param self The object pointer # def GenFlashMap (self): diff --git a/BaseTools/Source/Python/GenFds/FdfParser.py b/BaseTools/Source/Python/GenFds/FdfParser.py index de0b166030..5e1390e4b4 100644 --- a/BaseTools/Source/Python/GenFds/FdfParser.py +++ b/BaseTools/Source/Python/GenFds/FdfParser.py @@ -51,12 +51,10 @@ from .GuidSection import GuidSection from .Capsule import EFI_CERT_TYPE_PKCS7_GUID, EFI_CERT_TYPE_RSA2048_SHA256_GUID, Capsule from .CapsuleData import CapsuleFfs, CapsulePayload, CapsuleFv, CapsuleFd, CapsuleAnyFile, CapsuleAfile from .RuleComplexFile import RuleComplexFile from .RuleSimpleFile import RuleSimpleFile from .EfiSection import EfiSection -from .Vtf import Vtf -from .ComponentStatement import ComponentStatement from .OptionRom import OPTIONROM from .OptRomInfStatement import OptRomInfStatement, OverrideAttribs from .OptRomFileStatement import OptRomFileStatement from .GenFdsGlobalVariable import GenFdsGlobalVariable @@ -232,11 +230,10 @@ class FileProfile: self.FdDict = {} self.FdNameNotSet = False self.FvDict = {} self.CapsuleDict = {} - self.VtfList = [] self.RuleDict = {} self.OptRomDict = {} self.FmpPayloadDict = {} ## The syntax parser for FDF @@ -476,27 +473,20 @@ class FdfParser: # [Defines] # [FD.UiName]: use dummy instead if UI name is optional # [FV.UiName] # [Capsule.UiName] # [Rule]: don't take rule section into account, macro is not allowed in this section - # [VTF.arch.UiName, arch] # [OptionRom.DriverName] self._CurSection = [] Section = Section.strip()[1:-1].upper().replace(' ', '').strip(TAB_SPLIT) ItemList = Section.split(TAB_SPLIT) Item = ItemList[0] if Item == '' or Item == 'RULE': return if Item == TAB_COMMON_DEFINES.upper(): self._CurSection = [TAB_COMMON, TAB_COMMON, TAB_COMMON] - elif Item == 'VTF' and len(ItemList) == 3: - UiName = ItemList[2] - Pos = UiName.find(TAB_COMMA_SPLIT) - if Pos != -1: - UiName = UiName[:Pos] - self._CurSection = ['VTF', UiName, ItemList[1]] elif len(ItemList) > 1: self._CurSection = [ItemList[0], ItemList[1], TAB_COMMON] elif len(ItemList) > 0: self._CurSection = [ItemList[0], 'DUMMY', TAB_COMMON] @@ -1328,11 +1318,11 @@ class FdfParser: self.Preprocess() self._GetError() # # Keep processing sections of the FDF until no new sections or a syntax error is found # - while self._GetFd() or self._GetFv() or self._GetFmp() or self._GetCapsule() or self._GetVtf() or self._GetRule() or self._GetOptionRom(): + while self._GetFd() or self._GetFv() or self._GetFmp() or self._GetCapsule() or self._GetRule() or self._GetOptionRom(): pass except Warning as X: self._UndoToken() #'\n\tGot Token: \"%s\" from File %s\n' % (self._Token, FileLineTuple[0]) + \ @@ -1356,12 +1346,12 @@ class FdfParser: # @param section The section string def SectionParser(self, section): S = section.upper() if not S.startswith("[DEFINES") and not S.startswith("[FD.") and not S.startswith("[FV.") and not S.startswith("[CAPSULE.") \ - and not S.startswith("[VTF.") and not S.startswith("[RULE.") and not S.startswith("[OPTIONROM.") and not S.startswith('[FMPPAYLOAD.'): - raise Warning("Unknown section or section appear sequence error (The correct sequence should be [DEFINES], [FD.], [FV.], [Capsule.], [VTF.], [Rule.], [OptionRom.], [FMPPAYLOAD.])", self.FileName, self.CurrentLineNumber) + and not S.startswith("[RULE.") and not S.startswith("[OPTIONROM.") and not S.startswith('[FMPPAYLOAD.'): + raise Warning("Unknown section or section appear sequence error (The correct sequence should be [DEFINES], [FD.], [FV.], [Capsule.], [Rule.], [OptionRom.], [FMPPAYLOAD.])", self.FileName, self.CurrentLineNumber) ## _GetDefines() method # # Get Defines section contents and store its data into AllMacrosList # @@ -1430,11 +1420,11 @@ class FdfParser: return False S = self._Token.upper() if S.startswith(TAB_SECTION_START) and not S.startswith("[FD."): if not S.startswith("[FV.") and not S.startswith('[FMPPAYLOAD.') and not S.startswith("[CAPSULE.") \ - and not S.startswith("[VTF.") and not S.startswith("[RULE.") and not S.startswith("[OPTIONROM."): + and not S.startswith("[RULE.") and not S.startswith("[OPTIONROM."): raise Warning("Unknown section", self.FileName, self.CurrentLineNumber) self._UndoToken() return False self._UndoToken() @@ -4079,215 +4069,10 @@ class FdfParser: return True return False - ## _GetVtf() method - # - # Get VTF section contents and store its data into VTF list of self.Profile - # - # @param self The object pointer - # @retval True Successfully find a VTF - # @retval False Not able to find a VTF - # - def _GetVtf(self): - HW_ARCH_SET = {TAB_ARCH_IA32, TAB_ARCH_X64, TAB_ARCH_IPF, TAB_ARCH_ARM, TAB_ARCH_AARCH64} - if not self._GetNextToken(): - return False - - S = self._Token.upper() - if S.startswith(TAB_SECTION_START) and not S.startswith("[VTF."): - self.SectionParser(S) - self._UndoToken() - return False - - self._UndoToken() - if not self._IsToken("[VTF.", True): - FileLineTuple = GetRealFileLine(self.FileName, self.CurrentLineNumber) - #print 'Parsing String: %s in File %s, At line: %d, Offset Within Line: %d' \ - # % (self.Profile.FileLinesList[self.CurrentLineNumber - 1][self.CurrentOffsetWithinLine:], FileLineTuple[0], FileLineTuple[1], self.CurrentOffsetWithinLine) - raise Warning.Expected("[VTF.]", self.FileName, self.CurrentLineNumber) - - if not self._SkipToToken(TAB_SPLIT): - raise Warning.Expected("'.'", self.FileName, self.CurrentLineNumber) - - Arch = self._SkippedChars.rstrip(TAB_SPLIT).upper() - if Arch not in HW_ARCH_SET: - raise Warning("Unknown Arch '%s'" % Arch, self.FileName, self.CurrentLineNumber) - - if not self._GetNextWord(): - raise Warning.Expected("VTF name", self.FileName, self.CurrentLineNumber) - Name = self._Token.upper() - - VtfObj = Vtf() - VtfObj.UiName = Name - VtfObj.KeyArch = Arch - - if self._IsToken(TAB_COMMA_SPLIT): - if not self._GetNextWord(): - raise Warning.Expected("Arch list", self.FileName, self.CurrentLineNumber) - if self._Token.upper() not in HW_ARCH_SET: - raise Warning("Unknown Arch '%s'" % self._Token, self.FileName, self.CurrentLineNumber) - VtfObj.ArchList = self._Token.upper() - - if not self._IsToken(TAB_SECTION_END): - raise Warning.ExpectedBracketClose(self.FileName, self.CurrentLineNumber) - - if self._IsKeyword("IA32_RST_BIN"): - if not self._IsToken(TAB_EQUAL_SPLIT): - raise Warning.ExpectedEquals(self.FileName, self.CurrentLineNumber) - - if not self._GetNextToken(): - raise Warning.Expected("Reset file", self.FileName, self.CurrentLineNumber) - - VtfObj.ResetBin = self._Token - if VtfObj.ResetBin.replace(TAB_WORKSPACE, '').find('$') == -1: - #check for file path - ErrorCode, ErrorInfo = PathClass(NormPath(VtfObj.ResetBin), GenFdsGlobalVariable.WorkSpaceDir).Validate() - if ErrorCode != 0: - EdkLogger.error("GenFds", ErrorCode, ExtraData=ErrorInfo) - - while self._GetComponentStatement(VtfObj): - pass - - self.Profile.VtfList.append(VtfObj) - return True - - ## _GetComponentStatement() method - # - # Get components in VTF - # - # @param self The object pointer - # @param VtfObj for whom component is got - # @retval True Successfully find a component - # @retval False Not able to find a component - # - def _GetComponentStatement(self, VtfObj): - if not self._IsKeyword("COMP_NAME"): - return False - - if not self._IsToken(TAB_EQUAL_SPLIT): - raise Warning.ExpectedEquals(self.FileName, self.CurrentLineNumber) - - if not self._GetNextWord(): - raise Warning.Expected("Component Name", self.FileName, self.CurrentLineNumber) - - CompStatementObj = ComponentStatement() - CompStatementObj.CompName = self._Token - - if not self._IsKeyword("COMP_LOC"): - raise Warning.Expected("COMP_LOC", self.FileName, self.CurrentLineNumber) - - if not self._IsToken(TAB_EQUAL_SPLIT): - raise Warning.ExpectedEquals(self.FileName, self.CurrentLineNumber) - - CompStatementObj.CompLoc = "" - if self._GetNextWord(): - CompStatementObj.CompLoc = self._Token - if self._IsToken(TAB_VALUE_SPLIT): - if not self._GetNextWord(): - raise Warning.Expected("Region Name", self.FileName, self.CurrentLineNumber) - - if self._Token not in {"F", "N", "S"}: #, "H", "L", "PH", "PL"): not support - raise Warning("Unknown location type '%s'" % self._Token, self.FileName, self.CurrentLineNumber) - - CompStatementObj.FilePos = self._Token - else: - self.CurrentLineNumber += 1 - self.CurrentOffsetWithinLine = 0 - - if not self._IsKeyword("COMP_TYPE"): - raise Warning.Expected("COMP_TYPE", self.FileName, self.CurrentLineNumber) - - if not self._IsToken(TAB_EQUAL_SPLIT): - raise Warning.ExpectedEquals(self.FileName, self.CurrentLineNumber) - - if not self._GetNextToken(): - raise Warning.Expected("Component type", self.FileName, self.CurrentLineNumber) - if self._Token not in {"FIT", "PAL_B", "PAL_A", "OEM"}: - if not self._Token.startswith("0x") or len(self._Token) < 3 or len(self._Token) > 4 or \ - not self._Token[2] in hexdigits or not self._Token[-1] in hexdigits: - raise Warning("Unknown location type '%s'" % self._Token, self.FileName, self.CurrentLineNumber) - CompStatementObj.CompType = self._Token - - if not self._IsKeyword("COMP_VER"): - raise Warning.Expected("COMP_VER", self.FileName, self.CurrentLineNumber) - - if not self._IsToken(TAB_EQUAL_SPLIT): - raise Warning.ExpectedEquals(self.FileName, self.CurrentLineNumber) - - if not self._GetNextToken(): - raise Warning.Expected("Component version", self.FileName, self.CurrentLineNumber) - - Pattern = compile('-$|[0-9a-fA-F]{1,2}\.[0-9a-fA-F]{1,2}$', DOTALL) - if Pattern.match(self._Token) is None: - raise Warning("Unknown version format '%s'" % self._Token, self.FileName, self.CurrentLineNumber) - CompStatementObj.CompVer = self._Token - - if not self._IsKeyword("COMP_CS"): - raise Warning.Expected("COMP_CS", self.FileName, self.CurrentLineNumber) - - if not self._IsToken(TAB_EQUAL_SPLIT): - raise Warning.ExpectedEquals(self.FileName, self.CurrentLineNumber) - - if not self._GetNextToken(): - raise Warning.Expected("Component CS", self.FileName, self.CurrentLineNumber) - if self._Token not in {"1", "0"}: - raise Warning("Unknown Component CS '%s'" % self._Token, self.FileName, self.CurrentLineNumber) - CompStatementObj.CompCs = self._Token - - - if not self._IsKeyword("COMP_BIN"): - raise Warning.Expected("COMP_BIN", self.FileName, self.CurrentLineNumber) - - if not self._IsToken(TAB_EQUAL_SPLIT): - raise Warning.ExpectedEquals(self.FileName, self.CurrentLineNumber) - - if not self._GetNextToken(): - raise Warning.Expected("Component file", self.FileName, self.CurrentLineNumber) - - CompStatementObj.CompBin = self._Token - if CompStatementObj.CompBin != '-' and CompStatementObj.CompBin.replace(TAB_WORKSPACE, '').find('$') == -1: - #check for file path - ErrorCode, ErrorInfo = PathClass(NormPath(CompStatementObj.CompBin), GenFdsGlobalVariable.WorkSpaceDir).Validate() - if ErrorCode != 0: - EdkLogger.error("GenFds", ErrorCode, ExtraData=ErrorInfo) - - if not self._IsKeyword("COMP_SYM"): - raise Warning.Expected("COMP_SYM", self.FileName, self.CurrentLineNumber) - - if not self._IsToken(TAB_EQUAL_SPLIT): - raise Warning.ExpectedEquals(self.FileName, self.CurrentLineNumber) - - if not self._GetNextToken(): - raise Warning.Expected("Component symbol file", self.FileName, self.CurrentLineNumber) - - CompStatementObj.CompSym = self._Token - if CompStatementObj.CompSym != '-' and CompStatementObj.CompSym.replace(TAB_WORKSPACE, '').find('$') == -1: - #check for file path - ErrorCode, ErrorInfo = PathClass(NormPath(CompStatementObj.CompSym), GenFdsGlobalVariable.WorkSpaceDir).Validate() - if ErrorCode != 0: - EdkLogger.error("GenFds", ErrorCode, ExtraData=ErrorInfo) - - if not self._IsKeyword("COMP_SIZE"): - raise Warning.Expected("COMP_SIZE", self.FileName, self.CurrentLineNumber) - - if not self._IsToken(TAB_EQUAL_SPLIT): - raise Warning.ExpectedEquals(self.FileName, self.CurrentLineNumber) - - if self._IsToken("-"): - CompStatementObj.CompSize = self._Token - elif self._GetNextDecimalNumber(): - CompStatementObj.CompSize = self._Token - elif self._GetNextHexNumber(): - CompStatementObj.CompSize = self._Token - else: - raise Warning("Unknown size '%s'" % self._Token, self.FileName, self.CurrentLineNumber) - - VtfObj.ComponentStatementList.append(CompStatementObj) - return True - ## _GetOptionRom() method # # Get OptionROM section contents and store its data into OptionROM list of self.Profile # # @param self The object pointer diff --git a/BaseTools/Source/Python/GenFds/Fv.py b/BaseTools/Source/Python/GenFds/Fv.py index d89e7bfbdd..bd5c259348 100644 --- a/BaseTools/Source/Python/GenFds/Fv.py +++ b/BaseTools/Source/Python/GenFds/Fv.py @@ -72,15 +72,14 @@ class FV (object): # @param Buffer The buffer generated FV data will be put # @param BaseAddress base address of FV # @param BlockSize block size of FV # @param BlockNum How many blocks in FV # @param ErasePolarity Flash erase polarity - # @param VtfDict VTF objects # @param MacroDict macro value pair # @retval string Generated FV file path # - def AddToBuffer (self, Buffer, BaseAddress=None, BlockSize= None, BlockNum=None, ErasePloarity='1', VtfDict=None, MacroDict = {}, Flag=False): + def AddToBuffer (self, Buffer, BaseAddress=None, BlockSize= None, BlockNum=None, ErasePloarity='1', MacroDict = {}, Flag=False): if BaseAddress is None and self.UiFvName.upper() + 'fv' in GenFdsGlobalVariable.ImageBinDict: return GenFdsGlobalVariable.ImageBinDict[self.UiFvName.upper() + 'fv'] # # Check whether FV in Capsule is in FD flash region. @@ -103,11 +102,11 @@ class FV (object): FFSGuid = None if self.FvBaseAddress is not None: BaseAddress = self.FvBaseAddress if not Flag: - self._InitializeInf(BaseAddress, BlockSize, BlockNum, ErasePloarity, VtfDict) + self._InitializeInf(BaseAddress, BlockSize, BlockNum, ErasePloarity) # # First Process the Apriori section # MacroDict.update(self.DefineVarDict) @@ -268,13 +267,12 @@ class FV (object): # @param self The object pointer # @param BaseAddress base address of FV # @param BlockSize block size of FV # @param BlockNum How many blocks in FV # @param ErasePolarity Flash erase polarity - # @param VtfDict VTF objects # - def _InitializeInf (self, BaseAddress = None, BlockSize= None, BlockNum = None, ErasePloarity='1', VtfDict=None): + def _InitializeInf (self, BaseAddress = None, BlockSize= None, BlockNum = None, ErasePloarity='1'): # # Create FV inf file # self.InfFileName = os.path.join(GenFdsGlobalVariable.FvDir, self.UiFvName + '.inf') @@ -433,9 +431,5 @@ class FV (object): # # Add [Files] # self.FvInfFile.writelines("[files]" + TAB_LINE_BREAK) - if VtfDict and self.UiFvName in VtfDict: - self.FvInfFile.writelines("EFI_FILE_NAME = " + \ - VtfDict[self.UiFvName] + \ - TAB_LINE_BREAK) diff --git a/BaseTools/Source/Python/GenFds/GenFds.py b/BaseTools/Source/Python/GenFds/GenFds.py index 447aa7f5eb..ae67d0cb16 100644 --- a/BaseTools/Source/Python/GenFds/GenFds.py +++ b/BaseTools/Source/Python/GenFds/GenFds.py @@ -79,11 +79,10 @@ def resetFdsGlobalVariable(): GenFdsGlobalVariable.OutputDirFromDscDict = {} GenFdsGlobalVariable.TargetName = '' GenFdsGlobalVariable.ToolChainTag = '' GenFdsGlobalVariable.RuleDict = {} GenFdsGlobalVariable.ArchList = None - GenFdsGlobalVariable.VtfDict = {} GenFdsGlobalVariable.ActivePlatform = None GenFdsGlobalVariable.FvAddressFileName = '' GenFdsGlobalVariable.VerboseMode = False GenFdsGlobalVariable.DebugLevel = -1 GenFdsGlobalVariable.SharpCounter = 0 @@ -249,19 +248,11 @@ def GenFdsApi(FdsCommandDict, WorkSpaceDataBase=None): Pair = Pair[:-1] List = Pair.split('=') if len(List) == 2: if not List[1].strip(): EdkLogger.error("GenFds", OPTION_VALUE_INVALID, ExtraData="No Value given for Macro %s" %List[0]) - if List[0].strip() == "EFI_SOURCE": - GlobalData.gEfiSource = List[1].strip() - GlobalData.gGlobalDefines["EFI_SOURCE"] = GlobalData.gEfiSource - continue - elif List[0].strip() == "EDK_SOURCE": - GlobalData.gEdkSource = List[1].strip() - GlobalData.gGlobalDefines["EDK_SOURCE"] = GlobalData.gEdkSource - continue - elif List[0].strip() in ["WORKSPACE", "TARGET", "TOOLCHAIN"]: + if List[0].strip() in ["WORKSPACE", "TARGET", "TOOLCHAIN"]: GlobalData.gGlobalDefines[List[0].strip()] = List[1].strip() else: GlobalData.gCommandLineDefines[List[0].strip()] = List[1].strip() else: GlobalData.gCommandLineDefines[List[0].strip()] = "TRUE" diff --git a/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py b/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py index 0812c56bda..51c9ab046c 100644 --- a/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py +++ b/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py @@ -54,11 +54,10 @@ class GenFdsGlobalVariable: OutputDirFromDscDict = {} TargetName = '' ToolChainTag = '' RuleDict = {} ArchList = None - VtfDict = {} ActivePlatform = None FvAddressFileName = '' VerboseMode = False DebugLevel = -1 SharpCounter = 0 diff --git a/BaseTools/Source/Python/GenFds/Region.py b/BaseTools/Source/Python/GenFds/Region.py index 9aeaa45d45..8ca61254b0 100644 --- a/BaseTools/Source/Python/GenFds/Region.py +++ b/BaseTools/Source/Python/GenFds/Region.py @@ -73,16 +73,15 @@ class Region(object): # @param Buffer The buffer generated region data will be put # @param BaseAddress base address of region # @param BlockSize block size of region # @param BlockNum How many blocks in region # @param ErasePolarity Flash erase polarity - # @param VtfDict VTF objects # @param MacroDict macro value pair # @retval string Generated FV file path # - def AddToBuffer(self, Buffer, BaseAddress, BlockSizeList, ErasePolarity, ImageBinDict, vtfDict=None, MacroDict={}, Flag=False): + def AddToBuffer(self, Buffer, BaseAddress, BlockSizeList, ErasePolarity, ImageBinDict, MacroDict={}, Flag=False): Size = self.Size if not Flag: GenFdsGlobalVariable.InfLogger('\nGenerate Region at Offset 0x%X' % self.Offset) GenFdsGlobalVariable.InfLogger(" Region Size = 0x%X" % Size) GenFdsGlobalVariable.SharpCounter = 0 @@ -134,11 +133,11 @@ class Region(object): "FV (%s) is NOT %s Aligned!" % (FvObj.UiFvName, FvObj.FvAlignment)) FvBuffer = BytesIO('') FvBaseAddress = '0x%X' % self.FvAddress BlockSize = None BlockNum = None - FvObj.AddToBuffer(FvBuffer, FvBaseAddress, BlockSize, BlockNum, ErasePolarity, vtfDict, Flag=Flag) + FvObj.AddToBuffer(FvBuffer, FvBaseAddress, BlockSize, BlockNum, ErasePolarity, Flag=Flag) if Flag: continue FvBufferLen = len(FvBuffer.getvalue()) if FvBufferLen > Size: diff --git a/BaseTools/Source/Python/GenFds/Vtf.py b/BaseTools/Source/Python/GenFds/Vtf.py deleted file mode 100644 index 9dcd48b2d8..0000000000 --- a/BaseTools/Source/Python/GenFds/Vtf.py +++ /dev/null @@ -1,200 +0,0 @@ -## @file -# process VTF generation -# -# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.
-# -# This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# - -## -# Import Modules -# -from __future__ import absolute_import -from .GenFdsGlobalVariable import GenFdsGlobalVariable -import Common.LongFilePathOs as os -from Common.LongFilePathSupport import OpenLongFilePath as open -from Common.DataType import TAB_LINE_BREAK - -## generate VTF -# -# -class Vtf (object): - - ## The constructor - # - # @param self The object pointer - # - def __init__(self): - self.KeyArch = None - self.ArchList = None - self.UiName = None - self.ResetBin = None - self.ComponentStatementList = [] - - ## GenVtf() method - # - # Generate VTF - # - # @param self The object pointer - # @param FdAddressDict dictionary contains FV name and its base address - # @retval Dict FV and corresponding VTF file name - # - def GenVtf(self, FdAddressDict) : - self.GenBsfInf() - BaseAddArg = self.GetBaseAddressArg(FdAddressDict) - OutputArg, VtfRawDict = self.GenOutputArg() - - Cmd = ( - 'GenVtf', - ) + OutputArg + ( - '-f', self.BsfInfName, - ) + BaseAddArg - - GenFdsGlobalVariable.CallExternalTool(Cmd, "GenFv -Vtf Failed!") - GenFdsGlobalVariable.SharpCounter = 0 - - return VtfRawDict - - ## GenBsfInf() method - # - # Generate inf used to generate VTF - # - # @param self The object pointer - # - def GenBsfInf (self): - FvList = self.GetFvList() - self.BsfInfName = os.path.join(GenFdsGlobalVariable.FvDir, self.UiName + '.inf') - BsfInf = open(self.BsfInfName, 'w+') - if self.ResetBin: - BsfInf.writelines ("[OPTIONS]" + TAB_LINE_BREAK) - BsfInf.writelines ("IA32_RST_BIN" + \ - " = " + \ - GenFdsGlobalVariable.MacroExtend(GenFdsGlobalVariable.ReplaceWorkspaceMacro(self.ResetBin)) + \ - TAB_LINE_BREAK) - BsfInf.writelines (TAB_LINE_BREAK) - - BsfInf.writelines ("[COMPONENTS]" + TAB_LINE_BREAK) - - for ComponentObj in self.ComponentStatementList : - BsfInf.writelines ("COMP_NAME" + \ - " = " + \ - ComponentObj.CompName + \ - TAB_LINE_BREAK) - if ComponentObj.CompLoc.upper() == 'NONE': - BsfInf.writelines ("COMP_LOC" + \ - " = " + \ - 'N' + \ - TAB_LINE_BREAK) - - elif ComponentObj.FilePos: - BsfInf.writelines ("COMP_LOC" + \ - " = " + \ - ComponentObj.FilePos + \ - TAB_LINE_BREAK) - else: - Index = FvList.index(ComponentObj.CompLoc.upper()) - if Index == 0: - BsfInf.writelines ("COMP_LOC" + \ - " = " + \ - 'F' + \ - TAB_LINE_BREAK) - elif Index == 1: - BsfInf.writelines ("COMP_LOC" + \ - " = " + \ - 'S' + \ - TAB_LINE_BREAK) - - BsfInf.writelines ("COMP_TYPE" + \ - " = " + \ - ComponentObj.CompType + \ - TAB_LINE_BREAK) - BsfInf.writelines ("COMP_VER" + \ - " = " + \ - ComponentObj.CompVer + \ - TAB_LINE_BREAK) - BsfInf.writelines ("COMP_CS" + \ - " = " + \ - ComponentObj.CompCs + \ - TAB_LINE_BREAK) - - BinPath = ComponentObj.CompBin - if BinPath != '-': - BinPath = GenFdsGlobalVariable.MacroExtend(GenFdsGlobalVariable.ReplaceWorkspaceMacro(BinPath)) - BsfInf.writelines ("COMP_BIN" + \ - " = " + \ - BinPath + \ - TAB_LINE_BREAK) - - SymPath = ComponentObj.CompSym - if SymPath != '-': - SymPath = GenFdsGlobalVariable.MacroExtend(GenFdsGlobalVariable.ReplaceWorkspaceMacro(SymPath)) - BsfInf.writelines ("COMP_SYM" + \ - " = " + \ - SymPath + \ - TAB_LINE_BREAK) - BsfInf.writelines ("COMP_SIZE" + \ - " = " + \ - ComponentObj.CompSize + \ - TAB_LINE_BREAK) - BsfInf.writelines (TAB_LINE_BREAK) - - BsfInf.close() - - ## GenFvList() method - # - # Get FV list referenced by VTF components - # - # @param self The object pointer - # - def GetFvList(self): - FvList = [] - for component in self.ComponentStatementList : - if component.CompLoc.upper() != 'NONE' and not (component.CompLoc.upper() in FvList): - FvList.append(component.CompLoc.upper()) - - return FvList - - ## GetBaseAddressArg() method - # - # Get base address arguments for GenVtf - # - # @param self The object pointer - # - def GetBaseAddressArg(self, FdAddressDict): - FvList = self.GetFvList() - CmdStr = tuple() - for i in FvList: - (BaseAddress, Size) = FdAddressDict.get(i) - CmdStr += ( - '-r', '0x%x' % BaseAddress, - '-s', '0x%x' % Size, - ) - return CmdStr - - ## GenOutputArg() method - # - # Get output arguments for GenVtf - # - # @param self The object pointer - # - def GenOutputArg(self): - FvVtfDict = {} - OutputFileName = '' - FvList = self.GetFvList() - Index = 0 - Arg = tuple() - for FvObj in FvList: - Index = Index + 1 - OutputFileName = 'Vtf%d.raw' % Index - OutputFileName = os.path.join(GenFdsGlobalVariable.FvDir, OutputFileName) - Arg += ('-o', OutputFileName) - FvVtfDict[FvObj.upper()] = OutputFileName - - return Arg, FvVtfDict - diff --git a/BaseTools/Source/Python/TargetTool/TargetTool.py b/BaseTools/Source/Python/TargetTool/TargetTool.py index 8d523a6ab8..a49a01f9e3 100644 --- a/BaseTools/Source/Python/TargetTool/TargetTool.py +++ b/BaseTools/Source/Python/TargetTool/TargetTool.py @@ -201,12 +201,12 @@ def RangeCheckCallback(option, opt_str, value, parser): else: parser.error("Option %s only allows one instance in command line!" % option) def MyOptionParser(): parser = OptionParser(version=__version__, prog="TargetTool.exe", usage=__usage__, description=__copyright__) - parser.add_option("-a", "--arch", action="append", type="choice", choices=['IA32', 'X64', 'IPF', 'EBC', 'ARM', 'AARCH64', '0'], dest="TARGET_ARCH", - help="ARCHS is one of list: IA32, X64, IPF, ARM, AARCH64 or EBC, which replaces target.txt's TARGET_ARCH definition. To specify more archs, please repeat this option. 0 will clear this setting in target.txt and can't combine with other value.") + parser.add_option("-a", "--arch", action="append", type="choice", choices=['IA32', 'X64', 'EBC', 'ARM', 'AARCH64', '0'], dest="TARGET_ARCH", + help="ARCHS is one of list: IA32, X64, ARM, AARCH64 or EBC, which replaces target.txt's TARGET_ARCH definition. To specify more archs, please repeat this option. 0 will clear this setting in target.txt and can't combine with other value.") parser.add_option("-p", "--platform", action="callback", type="string", dest="DSCFILE", callback=SingleCheckCallback, help="Specify a DSC file, which replace target.txt's ACTIVE_PLATFORM definition. 0 will clear this setting in target.txt and can't combine with other value.") parser.add_option("-c", "--tooldef", action="callback", type="string", dest="TOOL_DEFINITION_FILE", callback=SingleCheckCallback, help="Specify the WORKSPACE relative path of tool_def.txt file, which replace target.txt's TOOL_CHAIN_CONF definition. 0 will clear this setting in target.txt and can't combine with other value.") parser.add_option("-t", "--target", action="append", type="choice", choices=['DEBUG', 'RELEASE', '0'], dest="TARGET", diff --git a/BaseTools/Source/Python/build/build.py b/BaseTools/Source/Python/build/build.py index b550bbc3b2..06977002e8 100644 --- a/BaseTools/Source/Python/build/build.py +++ b/BaseTools/Source/Python/build/build.py @@ -1396,15 +1396,11 @@ class Build(): if len (StrList) > 4: if StrList[3] == 'f' or StrList[3] == 'F': Name = StrList[1] RelativeAddress = int (StrList[2], 16) - OrigImageBaseAddress FunctionList.append ((Name, RelativeAddress)) - if ModuleInfo.Arch == 'IPF' and Name.endswith('_ModuleEntryPoint'): - # - # Get the real entry point address for IPF image. - # - ModuleInfo.Image.EntryPoint = RelativeAddress + ImageMap.close() # # Add general information. # if ModeIsSmm: @@ -1498,13 +1494,10 @@ class Build(): PeiSize = 0 BtSize = 0 RtSize = 0 # reserve 4K size in SMRAM to make SMM module address not from 0. SmmSize = 0x1000 - IsIpfPlatform = False - if 'IPF' in self.ArchList: - IsIpfPlatform = True for ModuleGuid in ModuleList: Module = ModuleList[ModuleGuid] GlobalData.gProcessingFile = "%s [%s, %s, %s]" % (Module.MetaFile, Module.Arch, Module.ToolChain, Module.BuildTarget) OutputImageFile = '' @@ -1524,13 +1517,10 @@ class Build(): elif Module.ModuleType in [EDK_COMPONENT_TYPE_BS_DRIVER, SUP_MODULE_DXE_DRIVER, SUP_MODULE_UEFI_DRIVER]: BtModuleList[Module.MetaFile] = ImageInfo BtSize += ImageInfo.Image.Size elif Module.ModuleType in [SUP_MODULE_DXE_RUNTIME_DRIVER, EDK_COMPONENT_TYPE_RT_DRIVER, SUP_MODULE_DXE_SAL_DRIVER, EDK_COMPONENT_TYPE_SAL_RT_DRIVER]: RtModuleList[Module.MetaFile] = ImageInfo - #IPF runtime driver needs to be at 2 page alignment. - if IsIpfPlatform and ImageInfo.Image.Size % 0x2000 != 0: - ImageInfo.Image.Size = (ImageInfo.Image.Size / 0x2000 + 1) * 0x2000 RtSize += ImageInfo.Image.Size elif Module.ModuleType in [SUP_MODULE_SMM_CORE, SUP_MODULE_DXE_SMM_DRIVER, SUP_MODULE_MM_STANDALONE, SUP_MODULE_MM_CORE_STANDALONE]: SmmModuleList[Module.MetaFile] = ImageInfo SmmSize += ImageInfo.Image.Size if Module.ModuleType == SUP_MODULE_DXE_SMM_DRIVER: @@ -1573,14 +1563,10 @@ class Build(): TopMemoryAddress = 0 else: TopMemoryAddress = self.LoadFixAddress if TopMemoryAddress < RtSize + BtSize + PeiSize: EdkLogger.error("build", PARAMETER_INVALID, "FIX_LOAD_TOP_MEMORY_ADDRESS is too low to load driver") - # Make IPF runtime driver at 2 page alignment. - if IsIpfPlatform: - ReservedRuntimeMemorySize = TopMemoryAddress % 0x2000 - RtSize = RtSize + ReservedRuntimeMemorySize # # Patch FixAddress related PCDs into EFI image # for EfiImage in PatchEfiImageList: @@ -2236,12 +2222,12 @@ def LogBuildTime(Time): # @retval Opt A optparse.Values object containing the parsed options # @retval Args Target of build command # def MyOptionParser(): Parser = OptionParser(description=__copyright__, version=__version__, prog="build.exe", usage="%prog [options] [all|fds|genc|genmake|clean|cleanall|cleanlib|modules|libraries|run]") - Parser.add_option("-a", "--arch", action="append", type="choice", choices=['IA32', 'X64', 'IPF', 'EBC', 'ARM', 'AARCH64'], dest="TargetArch", - help="ARCHS is one of list: IA32, X64, IPF, ARM, AARCH64 or EBC, which overrides target.txt's TARGET_ARCH definition. To specify more archs, please repeat this option.") + Parser.add_option("-a", "--arch", action="append", type="choice", choices=['IA32', 'X64', 'EBC', 'ARM', 'AARCH64'], dest="TargetArch", + help="ARCHS is one of list: IA32, X64, ARM, AARCH64 or EBC, which overrides target.txt's TARGET_ARCH definition. To specify more archs, please repeat this option.") Parser.add_option("-p", "--platform", action="callback", type="string", dest="PlatformFile", callback=SingleCheckCallback, help="Build the platform specified by the DSC file name argument, overriding target.txt's ACTIVE_PLATFORM definition.") Parser.add_option("-m", "--module", action="callback", type="string", dest="ModuleFile", callback=SingleCheckCallback, help="Build the module specified by the INF file name argument.") Parser.add_option("-b", "--buildtarget", type="string", dest="BuildTarget", help="Using the TARGET to build the platform, overriding target.txt's TARGET definition.", -- 2.19.1.windows.1