From: "Heng Luo" <heng.luo@intel.com>
To: devel@edk2.groups.io
Cc: Michael Kubacki <michael.a.kubacki@intel.com>,
Liming Gao <liming.gao@intel.com>,
Eric Dong <eric.dong@intel.com>, Ray Ni <ray.ni@intel.com>
Subject: [PATCH 1/2] Features/Intel/AdvancedFeaturePkg: Remove temporary build workaround
Date: Thu, 23 Apr 2020 16:42:57 +0800 [thread overview]
Message-ID: <20200423084258.1100-2-heng.luo@intel.com> (raw)
In-Reply-To: <20200423084258.1100-1-heng.luo@intel.com>
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.
Cc: Michael Kubacki <michael.a.kubacki@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Signed-off-by: Heng Luo <heng.luo@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 ------------------------------------------------------------
5 files changed, 42 insertions(+), 168 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
--
2.24.0.windows.2
next prev parent reply other threads:[~2020-04-23 8:43 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-23 8:42 [PATCH 0/2] Remove AdvancedFeaturePkg/TemporaryBuildWorkaround Heng Luo
2020-04-23 8:42 ` Heng Luo [this message]
2020-04-23 11:42 ` [PATCH 1/2] Features/Intel/AdvancedFeaturePkg: Remove temporary build workaround Ni, Ray
2020-04-24 1:05 ` Heng Luo
2020-04-24 5:02 ` Ni, Ray
2020-04-24 7:41 ` Heng Luo
2020-04-23 19:24 ` [edk2-devel] " Michael Kubacki
2020-04-24 0:58 ` Ni, Ray
2020-04-23 8:42 ` [PATCH 2/2] Platform/Intel: Cleanup temporary build workaround related code Heng Luo
2020-04-23 19:24 ` [edk2-devel] " Michael Kubacki
2020-04-24 0:51 ` Dong, Eric
2020-04-24 2:33 ` Heng Luo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200423084258.1100-2-heng.luo@intel.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox