Reviewed-by: Eric Dong <eric.d...@intel.com> > -----Original Message----- > From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of > Heng Luo > Sent: Friday, April 24, 2020 3:31 PM > To: devel@edk2.groups.io > Cc: Gao, Liming <liming....@intel.com>; Dong, Eric <eric.d...@intel.com>; > Ni, Ray <ray...@intel.com> > Subject: [edk2-devel] [PATCH] Remove temporary build workaround in > Features/Intel/AdvancedFeaturePkg > > Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2688 > > Remove Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround, > Add > Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc > to support Feature PCDs. > Use AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc instead of > AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaro > und.dsc > > Cc: Liming Gao <liming....@intel.com> > Cc: Eric Dong <eric.d...@intel.com> > Cc: Ray Ni <ray...@intel.com> > Signed-off-by: Heng Luo <heng....@intel.com> > --- > Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc > | 2 +- > Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc > | 41 +++++++++++++++++++++++++++++++++++++++++ > > Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/Tempora > ryBuildWorkaround.c | 31 ------------------------------- > > Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/Tempora > ryBuildWorkaround.dsc | 76 > ----------------------------------------------------------- > ----------------- > > Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/Tempora > ryBuildWorkaround.inf | 60 > ------------------------------------------------------------ > > Platform/Intel/CometlakeOpenBoardPkg/CometlakeURvp/OpenBoardPkg.d > sc | 2 +- > Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkg.dsc > | 2 +- > Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.dsc > | 2 +- > Platform/Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkg.dsc > | 2 +- > Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/OpenBoardPkg.dsc > | 2 +- > > Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoardPk > g.dsc | 2 +- > 11 files changed, 48 insertions(+), 174 deletions(-) > > diff --git a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc > b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc > index ea879680ba..e509ef3e1b 100644 > --- a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc > +++ b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc > @@ -30,7 +30,7 @@ > PEI_ARCH = IA32 DXE_ARCH > = X64 -!include > AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaro > und.dsc+!include AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc > ########################################################## > ###################### #diff --git > a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc > b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc > new file mode 100644 > index 0000000000..2eacec18a0 > --- /dev/null > +++ > b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc > @@ -0,0 +1,41 @@ > +## @file+# DSC file for defining Pcd of advanced features.+#+# This file is > intended to be included into another package so advanced features+# can > be conditionally built by enabling the respective feature via its > FeaturePCD.+#+# Copyright (c) 2020, Intel Corporation. All rights > reserved.<BR>+#+# SPDX-License-Identifier: BSD-2-Clause- > Patent+#+##++#+# The section references the package DEC files,+# it allow > a FeaturePCD to be used in a conditional statement+#+[Packages]+ > MdePkg/MdePkg.dec+ AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec+ > Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dec+ > NetworkFeaturePkg/NetworkFeaturePkg.dec+ > IpmiFeaturePkg/IpmiFeaturePkg.dec+ S3FeaturePkg/S3FeaturePkg.dec+ > SmbiosFeaturePkg/SmbiosFeaturePkg.dec+ > UserAuthFeaturePkg/UserAuthFeaturePkg.dec+ > LogoFeaturePkg/LogoFeaturePkg.dec++#+# The section below sets all PCDs > to FALSE in this DSC file so the feature is not enabled by default.+# Board > can > set PCDs to TRUE in its DSC file to enable a subset of advanced > features+#+[PcdsFeatureFlag]+ > gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable > |FALSE+ gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable > |FALSE+ gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable > |FALSE+ gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable > |FALSE+ gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable > |FALSE+ > gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable > |FALSE+ > gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnabl > e |FALSE+ gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable > |FALSE+ gLogoFeaturePkgTokenSpaceGuid.PcdJpgEnable > |FALSEdiff --git > a/Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/Tempo > raryBuildWorkaround.c > b/Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/Tempo > raryBuildWorkaround.c > deleted file mode 100644 > index 2cd91b06f0..0000000000 > --- > a/Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/Tempo > raryBuildWorkaround.c > +++ /dev/null > @@ -1,31 +0,0 @@ > -/** @file- Source code file for a temporary build workaround.-- The > purpose of this workaround is described in the module INF file.--Copyright (c) > 2019, Intel Corporation. All rights reserved.<BR>-SPDX-License-Identifier: > BSD-2-Clause-Patent--**/--#include <Base.h>-#include <Library/BaseLib.h>- > -/**- An empty entry point function.-- @param FileHandle Handle of the > file being invoked.- @param PeiServices Describes the list of possible PEI > Services.-- @retval EFI_SUCCESS This function always returns > EFI_SUCCESS.--**/-EFI_STATUS-EFIAPI-TemporaryBuildWorkaroundEntry (- > IN EFI_PEI_FILE_HANDLE FileHandle,- IN CONST EFI_PEI_SERVICES > **PeiServices- )-{- return EFI_SUCCESS;-}diff --git > a/Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/Tempo > raryBuildWorkaround.dsc > b/Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/Tempo > raryBuildWorkaround.dsc > deleted file mode 100644 > index c62f9ecc6e..0000000000 > --- > a/Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/Tempo > raryBuildWorkaround.dsc > +++ /dev/null > @@ -1,76 +0,0 @@ > -## @file-# Build description file for a temporary build workaround.-#-# The > feature enable PCD for advanced features must be referenced in an INF-# to > be referenced in DSC/FDF files. This DSC only exists in the build to-# allow > the > PCDs to be referenced. This workaround does not affect the final-# flash > image or boot in any way.-#-# The request to update BaseTools to allow a > PCD to be referenced in DSC/FDF-# files without requiring the PCD to be > referenced in an INF file is tracked-# here: > https://bugzilla.tianocore.org/show_bug.cgi?id=2270-#-# When the > BaseTools update is complete, this file can entirely be removed-# from this > package.-#-# Copyright (c) 2019 - 2020, Intel Corporation. All rights > reserved.<BR>-#-# SPDX-License-Identifier: BSD-2-Clause-Patent-#-##--#-# > BEGIN:Temporary Build Workaround (resolution: > https://bugzilla.tianocore.org/show_bug.cgi?id=2270)-#--# THIS FILE IS > TEMPORARY. PLEASE TRY TO LOOK PAST THE "HACKS" ASSOCIATED WITH IT.- > #-# With the BaseTools change requested, the changes needed to move to > the end state are simply:-# 1. Remove the !include for this file in > AdvancedFeatures.dsc-# 2. Remove this directory--!if > $(PLATFORM_NAME) != AdvancedFeaturePkg-#-# AdvancedFeaturePkg > initializes all FeaturePCDs to TRUE so they can conveniently be built in one > package.-# Board packages will normally only enable (and therefore > reference) a small subset of advanced features-# relative to the board. If an > INF does not reference a package DEC file (which will be the case if the-# > feature is not enabled) then the DSC must set ("define") the PCD for the > conditional statements based-# on the PCD to work.-#-# > AdvancedFeaturePkg has no problem as it naturally has a need to set al PCDs > to TRUE for build.-# The section below sets all PCDs to FALSE in the DSC file > so > if the feature is not enabled by a board,-# the build will still be > successful.-#- > [PcdsFeatureFlag]- > gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable > |FALSE- gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable > |FALSE- gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable > |FALSE- gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable > |FALSE- gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable > |FALSE- > gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable > |FALSE- > gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnabl > e |FALSE- gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable > |FALSE- gLogoFeaturePkgTokenSpaceGuid.PcdJpgEnable > |FALSE-!endif--#-# The LibraryClasses required to build > TemporaryBuildWorkaround.inf-# (mostly libraries requiring other libraries)- > #-[LibraryClasses]- BaseLib|MdePkg/Library/BaseLib/BaseLib.inf- > BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibR > epStr.inf- > DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf- > PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf- > PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf- > PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf- > PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/P > eiServicesTablePointerLibIdt.inf--#-# The driver that references all feature > PCDs to satsify current build limitations-#-[Components]- > AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaro > und.inf-#-# END:Temporary Build Workaround (resolution: > https://bugzilla.tianocore.org/show_bug.cgi?id=2270)-#diff --git > a/Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/Tempo > raryBuildWorkaround.inf > b/Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/Tempo > raryBuildWorkaround.inf > deleted file mode 100644 > index 00818fbe0a..0000000000 > --- > a/Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/Tempo > raryBuildWorkaround.inf > +++ /dev/null > @@ -1,60 +0,0 @@ > -### @file-# Component information file for a temporary build workaround.- > #-# The feature enable PCD for this package must be referenced in an INF to > be-# referenced in DSC/FDF files. This driver is only included in the build > to-# > allow the PCD to be referenced. This driver is not included in the flash-# > image and does not affect the boot in any way.-#-# The request to update > BaseTools to allow a PCD to be referenced in DSC/FDF-# files without > requiring the PCD to be referenced in an INF file is tracked-# here: > https://bugzilla.tianocore.org/show_bug.cgi?id=2270-#-# When the > BaseTools update is complete, this file can entirely be removed-# from this > package.-#-# Copyright (c) 2019 - 2020, Intel Corporation. All rights > reserved.<BR>-#-# SPDX-License-Identifier: BSD-2-Clause-Patent-#-###-- > [Defines]- INF_VERSION = 0x00010017- BASE_NAME = > TemporaryBuildWorkaround- FILE_GUID = 8846A81E-F552-4917-81F5- > 80B62E4EFBAC- VERSION_STRING = 1.0- MODULE_TYPE = PEIM- > ENTRY_POINT = TemporaryBuildWorkaroundEntry--[LibraryClasses]- > BaseLib- PeimEntryPoint--[Packages]- MdePkg/MdePkg.dec- > Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec- > Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dec- > Network/NetworkFeaturePkg/NetworkFeaturePkg.dec- > OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec- > PowerManagement/S3FeaturePkg/S3FeaturePkg.dec- > SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec- > UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dec- > UserInterface/LogoFeaturePkg/LogoFeaturePkg.dec--[FeaturePcd]- > gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable- > gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable- > gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable- > gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable- > gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable- > gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable- > gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnabl > e- gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable- > gLogoFeaturePkgTokenSpaceGuid.PcdJpgEnable--[Sources]- > TemporaryBuildWorkaround.c--[Depex]- TRUEdiff --git > a/Platform/Intel/CometlakeOpenBoardPkg/CometlakeURvp/OpenBoardPkg > .dsc > b/Platform/Intel/CometlakeOpenBoardPkg/CometlakeURvp/OpenBoardPkg > .dsc > index 14e82ba34d..8e04ca8a4f 100644 > --- > a/Platform/Intel/CometlakeOpenBoardPkg/CometlakeURvp/OpenBoardPkg > .dsc > +++ > b/Platform/Intel/CometlakeOpenBoardPkg/CometlakeURvp/OpenBoardPkg > .ds > +++ c > @@ -39,7 +39,7 @@ > # # Include PCD configuration for this board. #- !include > AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaro > und.dsc+ !include > AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc !include > OpenBoardPkgPcd.dsc !include > AdvancedFeaturePkg/Include/AdvancedFeatures.dsc diff --git > a/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkg.dsc > b/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkg.dsc > index bf63d53bef..7bb8cd5279 100644 > --- a/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkg.dsc > +++ > b/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkg.dsc > @@ -38,7 +38,7 @@ > # # Include PCD configuration for this board. #- !include > AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaro > und.dsc+ !include > AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc !include > OpenBoardPkgPcd.dsc !include > AdvancedFeaturePkg/Include/AdvancedFeatures.dsc diff --git > a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.dsc > b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.dsc > index 044688ba4e..ef82f8b716 100644 > --- > a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.dsc > +++ > b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.dsc > @@ -37,7 +37,7 @@ > # # Include PCD configuration for this board. #- !include > AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaro > und.dsc+ !include > AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc !include > OpenBoardPkgPcd.dsc !include > AdvancedFeaturePkg/Include/AdvancedFeatures.dsc diff --git > a/Platform/Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkg.dsc > b/Platform/Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkg.dsc > index 350a75a313..3bafc1ff0a 100644 > --- > a/Platform/Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkg.dsc > +++ > b/Platform/Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkg.dsc > @@ -42,7 +42,7 @@ > DEFINE NETWORK_ISCSI_ENABLE = FALSE DEFINE > NETWORK_ALLOW_HTTP_CONNECTIONS = TRUE - !include > AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaro > und.dsc+ !include > AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc !include > $(PROJECT)/OpenBoardPkgPcd.dsc !include > AdvancedFeaturePkg/Include/AdvancedFeatures.dsc diff --git > a/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/OpenBoardPkg.dsc > b/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/OpenBoardPkg.dsc > index 2ab9cb03ea..07cf311210 100644 > --- > a/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/OpenBoardPkg.dsc > +++ > b/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/OpenBoardPkg.dsc > @@ -39,7 +39,7 @@ > # # Include PCD configuration for this board. #- !include > AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaro > und.dsc+ !include > AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc !include > OpenBoardPkgPcd.dsc !include > AdvancedFeaturePkg/Include/AdvancedFeatures.dsc diff --git > a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoard > Pkg.dsc > b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoard > Pkg.dsc > index 1a9e608bd6..1dace5ee22 100644 > --- > a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoard > Pkg.dsc > +++ > b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoard > Pk > +++ g.dsc > @@ -39,7 +39,7 @@ > # # Include PCD configuration for this board. #- !include > AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaro > und.dsc+ !include > AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc !include > OpenBoardPkgPcd.dsc !include > AdvancedFeaturePkg/Include/AdvancedFeatures.dsc -- > 2.24.0.windows.2 > > > -=-=-=-=-=-= > Groups.io Links: You receive all messages sent to this group. > > View/Reply Online (#58026): https://edk2.groups.io/g/devel/message/58026 > Mute This Topic: https://groups.io/mt/73236633/1768733 > Group Owner: devel+ow...@edk2.groups.io > Unsubscribe: https://edk2.groups.io/g/devel/unsub [eric.d...@intel.com] - > =-=-=-=-=-=
-=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#58294): https://edk2.groups.io/g/devel/message/58294 Mute This Topic: https://groups.io/mt/73236633/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-