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/TemporaryBuildWorkaround.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/TemporaryBuildWorkaround.c | 31 ------------------------------- Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaround.dsc | 76 ---------------------------------------------------------------------------- Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaround.inf | 60 ------------------------------------------------------------ Platform/Intel/CometlakeOpenBoardPkg/CometlakeURvp/OpenBoardPkg.dsc | 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/OpenBoardPkg.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/TemporaryBuildWorkaround.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.PcdUserAuthenticationFeatureEnable |FALSE + gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable |FALSE + gLogoFeaturePkgTokenSpaceGuid.PcdJpgEnable |FALSE diff --git a/Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaround.c b/Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaround.c deleted file mode 100644 index 2cd91b06f0..0000000000 --- a/Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaround.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/TemporaryBuildWorkaround.dsc b/Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaround.dsc deleted file mode 100644 index c62f9ecc6e..0000000000 --- a/Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaround.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.PcdUserAuthenticationFeatureEnable |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/BaseMemoryLibRepStr.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/PeiServicesTablePointerLibIdt.inf - -# -# The driver that references all feature PCDs to satsify current build limitations -# -[Components] - AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaround.inf -# -# END:Temporary Build Workaround (resolution: https://bugzilla.tianocore.org/show_bug.cgi?id=2270) -# diff --git a/Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaround.inf b/Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaround.inf deleted file mode 100644 index 00818fbe0a..0000000000 --- a/Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaround.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.PcdUserAuthenticationFeatureEnable - gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable - gLogoFeaturePkgTokenSpaceGuid.PcdJpgEnable - -[Sources] - TemporaryBuildWorkaround.c - -[Depex] - TRUE diff --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.dsc @@ -39,7 +39,7 @@ # # Include PCD configuration for this board. # - !include AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaround.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/TemporaryBuildWorkaround.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/TemporaryBuildWorkaround.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/TemporaryBuildWorkaround.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/TemporaryBuildWorkaround.dsc + !include AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc !include OpenBoardPkgPcd.dsc !include AdvancedFeaturePkg/Include/AdvancedFeatures.dsc diff --git a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoardPkg.dsc b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoardPkg.dsc index 1a9e608bd6..1dace5ee22 100644 --- a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoardPkg.dsc +++ b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoardPkg.dsc @@ -39,7 +39,7 @@ # # Include PCD configuration for this board. # - !include AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaround.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/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-