From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mx.groups.io with SMTP id smtpd.web11.198.1587704578784946594 for ; Thu, 23 Apr 2020 22:02:59 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.43, mailfrom: ray.ni@intel.com) IronPort-SDR: edZPsg12+VHdK7x1n1ofy5KnsAWp/HJswu6mU3Rd3Z8QUTzXuGcFjT18MH/BKJ3X91O9FDOn/S Aw+GX3AIWv8Q== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Apr 2020 22:02:57 -0700 IronPort-SDR: aSsmyCZ6SfO+cuZc69w9UflybvKjCaSKYcdvymDUWRDdKV2NOj16IMFNBGJhagg0KvxekSiE8N NJ7nrA0d4MEA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,310,1583222400"; d="scan'208";a="457777811" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by fmsmga006.fm.intel.com with ESMTP; 23 Apr 2020 22:02:57 -0700 Received: from fmsmsx117.amr.corp.intel.com (10.18.116.17) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 23 Apr 2020 22:02:43 -0700 Received: from shsmsx103.ccr.corp.intel.com (10.239.4.69) by fmsmsx117.amr.corp.intel.com (10.18.116.17) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 23 Apr 2020 22:02:42 -0700 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.225]) by SHSMSX103.ccr.corp.intel.com ([169.254.4.146]) with mapi id 14.03.0439.000; Fri, 24 Apr 2020 13:02:39 +0800 From: "Ni, Ray" To: "Luo, Heng" , "devel@edk2.groups.io" CC: Michael Kubacki , "Gao, Liming" , "Dong, Eric" Subject: Re: [PATCH 1/2] Features/Intel/AdvancedFeaturePkg: Remove temporary build workaround Thread-Topic: [PATCH 1/2] Features/Intel/AdvancedFeaturePkg: Remove temporary build workaround Thread-Index: AQHWGUs/TgW9AIgwI0qjFRH+h+i4b6iGlfdQgABaTgCAAMgtkA== Date: Fri, 24 Apr 2020 05:02:39 +0000 Message-ID: <734D49CCEBEEF84792F5B80ED585239D5C50C320@SHSMSX104.ccr.corp.intel.com> References: <20200423084258.1100-1-heng.luo@intel.com> <20200423084258.1100-2-heng.luo@intel.com> <734D49CCEBEEF84792F5B80ED585239D5C50A9E0@SHSMSX104.ccr.corp.intel.com> In-Reply-To: Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: ray.ni@intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Thanks for the explanation. Make sense to me. > -----Original Message----- > From: Luo, Heng > Sent: Friday, April 24, 2020 9:06 AM > To: Ni, Ray ; devel@edk2.groups.io > Cc: Michael Kubacki ; Gao, Liming ; Dong, Eric > > Subject: RE: [PATCH 1/2] Features/Intel/AdvancedFeaturePkg: Remove tempor= ary build workaround >=20 > Hi Ray, > Option 1, In current implement, the usage of AdvancedFeaturePkg in board = DSC is: >=20 > !include AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc # invoke sect= ion "[Packages]", define default Feature PCD > #option: [PcdsFeatureFlag], board can override default Feature PCD here, = enable specific feature. > !include Include/AdvancedFeatures.dsc >=20 > Option 2, if there is no AdvancedFeaturesPcd.dsc, we can move section "[P= ackages]" to AdvancedFeatures.dsc, there is 2 > concerns here: > 1. there is no default Feature PCD now, we need to add [PcdsFeatureFlag] = below in every OpenBoardPkg.dsc. if we add a > new feature, we have to change all OpenBoardPkg.dsc files, but in option= 1, we just need to change > AdvancedFeaturesPcd.dsc > [PcdsFeatureFlag] > gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable = |FALSE > gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable = |FALSE > ..... >=20 > 2. we define FeaturePCDs before section "[Packages]", it does work, but i= t looks strange. >=20 > So I would like option 1, but I also agree option2 if you think it is bet= ter. >=20 > Thanks, > Heng > > -----Original Message----- > > From: Ni, Ray > > Sent: Thursday, April 23, 2020 7:43 PM > > To: Luo, Heng ; devel@edk2.groups.io > > Cc: Michael Kubacki ; Gao, Liming > > ; Dong, Eric > > Subject: RE: [PATCH 1/2] Features/Intel/AdvancedFeaturePkg: Remove > > temporary build workaround > > > > Heng, > > Any reason to create a separate Pcd.dsc file? > > > > > -----Original Message----- > > > From: Luo, Heng > > > Sent: Thursday, April 23, 2020 4:43 PM > > > To: devel@edk2.groups.io > > > Cc: Michael Kubacki ; Gao, Liming > > > ; Dong, Eric ; Ni, Ray > > > > > > Subject: [PATCH 1/2] Features/Intel/AdvancedFeaturePkg: Remove > > > temporary build workaround > > > > > > Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3D2688 > > > > > > Remove Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround, > > > Add > > Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc > > > to support Feature PCDs. > > > > > > Cc: Michael Kubacki > > > Cc: Liming Gao > > > Cc: Eric Dong > > > Cc: Ray Ni > > > Signed-off-by: Heng Luo > > > --- > > > Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc > > | 2 +- > > > Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc > > | 41 > > > +++++++++++++++++++++++++++++++++++++++++ > > > > > Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/Temporar > > yBuildWorkaround.c | 31 --------------------------- > > > ---- > > > > > > > > Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/Temporar > > yBu > > > ildWorkaround.dsc | 76 -------------------------- > > > -------------------------------------------------- > > > > > > > > Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/Temporar > > yBu > > > ildWorkaround.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 =3D IA32 > > > > > > DXE_ARCH =3D X64 > > > > > > > > > > > > -!include > > > > > AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaro > > und.d > > > sc > > > > > > +!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.ds > > > +++ c > > > @@ -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.
> > > > > > +# > > > > > > +# 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 f= eature 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/Tempor > > ary > > > BuildWorkaround.c > > > > > b/Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/Tempor > > ary > > > BuildWorkaround.c > > > deleted file mode 100644 > > > index 2cd91b06f0..0000000000 > > > --- > > > > > a/Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/Tempor > > ary > > > BuildWorkaround.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.
> > > > > > -SPDX-License-Identifier: BSD-2-Clause-Patent > > > > > > - > > > > > > -**/ > > > > > > - > > > > > > -#include > > > > > > -#include > > > > > > - > > > > > > -/** > > > > > > - 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/Tempor > > ary > > > BuildWorkaround.dsc > > > > > b/Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/Tempor > > ary > > > BuildWorkaround.dsc > > > deleted file mode 100644 > > > index c62f9ecc6e..0000000000 > > > --- > > > > > a/Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/Tempor > > ary > > > BuildWorkaround.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=3D2270 > > > > > > -# > > > > > > -# When the BaseTools update is complete, this file can entirely be > > > removed > > > > > > -# from this package. > > > > > > -# > > > > > > -# Copyright (c) 2019 - 2020, Intel Corporation. All rights > > > reserved.
> > > > > > -# > > > > > > -# SPDX-License-Identifier: BSD-2-Clause-Patent > > > > > > -# > > > > > > -## > > > > > > - > > > > > > -# > > > > > > -# BEGIN:Temporary Build Workaround (resolution: > > > https://bugzilla.tianocore.org/show_bug.cgi?id=3D2270) > > > > > > -# > > > > > > - > > > > > > -# 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) !=3D 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 se= t 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/BaseMemoryLibRe > > pStr.i > > > nf > > > > > > - 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/PeiServicesTablePointerLibI= d > > > t/PeiServicesTablePointerLibIdt.inf > > > > > > - > > > > > > -# > > > > > > -# The driver that references all feature PCDs to satsify current > > > build limitations > > > > > > -# > > > > > > -[Components] > > > > > > - > > > > > AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaro > > und.i > > > nf > > > > > > -# > > > > > > -# END:Temporary Build Workaround (resolution: > > > https://bugzilla.tianocore.org/show_bug.cgi?id=3D2270) > > > > > > -# > > > > > > diff --git > > > > > a/Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/Tempor > > ary > > > BuildWorkaround.inf > > > > > b/Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/Tempor > > ary > > > BuildWorkaround.inf > > > deleted file mode 100644 > > > index 00818fbe0a..0000000000 > > > --- > > > > > a/Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/Tempor > > ary > > > BuildWorkaround.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=3D2270 > > > > > > -# > > > > > > -# When the BaseTools update is complete, this file can entirely be > > > removed > > > > > > -# from this package. > > > > > > -# > > > > > > -# Copyright (c) 2019 - 2020, Intel Corporation. All rights > > > reserved.
> > > > > > -# > > > > > > -# SPDX-License-Identifier: BSD-2-Clause-Patent > > > > > > -# > > > > > > -### > > > > > > - > > > > > > -[Defines] > > > > > > - INF_VERSION =3D 0x00010017 > > > > > > - BASE_NAME =3D TemporaryBuildWorkaround > > > > > > - FILE_GUID =3D 8846A81E-F552-4917-81F5-80B62E4EFBAC > > > > > > - VERSION_STRING =3D 1.0 > > > > > > - MODULE_TYPE =3D PEIM > > > > > > - ENTRY_POINT =3D 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 >=20