public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency
@ 2022-01-12  2:20 Oram, Isaac W
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 01/27] BeepDebugFeaturePkg: Use MinPlatformPkg build include files Oram, Isaac W
                   ` (27 more replies)
  0 siblings, 28 replies; 86+ messages in thread
From: Oram, Isaac W @ 2022-01-12  2:20 UTC (permalink / raw)
  To: devel
  Cc: Isaac Oram, Sai Chaganty, Liming Gao, Eric Dong, Ming Tan,
	Nate DeSimone, Chasel Chiu, Dandan Bi, Miki Shindo, Mohamed Abbas,
	Manickavasakam Karpagavinayagam

This series addresses inconsistencies in feature implementation and use. Some inconsistencies are just
conventions of the feature design/template/convention.  Some are inconsistency with feature design intent
that negatively affect the usability of the features and the amount of work required from board porting
engineers.

Some features were missing feature enable flags.
Some features had non-functional standalone builds.
Many features were implemented to include common core build content in their feature include files.
Updated some of the Readme content.
Added AdvancedFeaturePkg.fdf to build all feature content to support verifying no build time issues between features.
Removed duplicate and unused content from build files.
Modified the TemplateFeaturePkg to use the common MinPlatform include content.

Removed all instances where features were relative to Features/Intel and made them relative to the package roots.
This does mean PACKAGES_PATH may need to be extended for all the feature domains.  Debugging, PowerManagement, etc.
However, it should enable packaging tools to function properly as the relative paths violate spec.

Use of the common MinPlatformPkg build includes does increase the build time for each individual feature in standalone
build modes. It does not negatively impact board or AdvancedFeaturePkg builds as the common content is only built
once. Part of MinPlatform arch intent is to reduce cognitive complexity, so the simpler build is more valuable than
fast build time.

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Ming Tan <ming.tan@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Chasel Chiu <chasel.chiu@intel.com>
Cc: Dandan Bi <dandan.bi@intel.com>
Cc: Miki Shindo <miki.shindo@intel.com>
Cc: Mohamed Abbas <mohamed.abbas@intel.com>
Cc: Manickavasakam Karpagavinayagam <manickavasakamk@ami.com>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>

Isaac Oram (27):
  BeepDebugFeaturePkg: Use MinPlatformPkg build include files
  BeepDebugFeaturePkg: Fix all relative package paths
  AcpiDebugFeaturePkg: Fix all relative package paths
  IpmiFeaturePkg: Fix all relative package paths
  IpmiFeaturePkg: Fix build errors
  S3FeaturePkg: Fix all relative package paths
  S3FeaturePkg: Use MinPlatformPkg build include files
  SmbiosFeaturePkg: Fix all relative package paths
  SmbiosFeaturePkg: Use MinPlatformPkg build include files
  UserAuthFeaturePkg: Fix all relative package paths
  UserAuthFeaturePkg: Use MinPlatformPkg build include files
  VirtualKeyboardFeaturePkg: Fix all relative package paths
  VirtualKeyboardFeaturePkg: Use MinPlatformPkg build include files
  VirtualKeyboardFeaturePkg: Add feature enable PCD
  NetworkFeaturePkg: Use MinPlatformPkg build include files
  LogoFeaturePkg: Use MinPlatformPkg build include files
  PostCodeDebugFeaturePkg: Complete as an advanced feature
  AcpiDebugFeaturePkg: Use MinPlatformPkg build include files
  Usb3DebugFeaturePkg: Align with feature design guidelines
  SpcrFeaturePkg: Use MinPlatform build include files
  TemplateFeaturePkg: Use MinPlatform build include files
  AdvancedFeaturePkg: Fix all relative package paths
  AdvancedFeaturePkg: Add missing features
  MinPlatformPkg/Build: Add an include file for the common SPI FV info
  WhitleyOpenBoardPkg/Build: Use common SPI FV Header include
  AdvancedFeaturePkg/Build: Add FDF to create FV for all features
  WhitleyOpenBoardPkg/Build: Enable Features/Intel features

 Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc                                                                  |  67 +++++-
 Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.fdf                                                                  |  49 +++++
 Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc                                                            |  49 +++--
 Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc                                                         |  64 +++++-
 Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf                                                                  |  49 +++--
 Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf                                                                   |  49 +++--
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf                                             |   2 +-
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf                                             |   2 +-
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec                                                      |   2 +-
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dsc                                                      |  21 ++
 Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc                                                 |  74 +------
 Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf                                                       |   4 +-
 Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dec                                                      |   7 +-
 Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dsc                                                      |  28 +++
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc                                                 | 222 ++++++-------------
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/Library/BeepLib.h                                                    |   6 +-
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PostMemory.fdf                                                       |  14 ++
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PreMemory.fdf                                                        |  13 ++
 Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/PeiBeepStatusCodeHandlerLib.inf             |   5 +-
 Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf      |   3 -
 Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/SmmBeepStatusCodeHandlerLib.inf             |   3 -
 Features/Intel/Debugging/BeepDebugFeaturePkg/Readme.md                                                                    |  91 +++++---
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostCodeDebugFeature.dsc                                         | 231 +++++---------------
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostMemory.fdf                                                   |  14 ++
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PreMemory.fdf                                                    |  13 ++
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Library/PostCodeStatusCodeHandlerLib/PeiPostCodeStatusCodeHandlerLib.inf |   2 +-
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/PostCodeDebugFeaturePkg.dec                                              |  11 +
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/PostCodeDebugFeaturePkg.dsc                                              |  30 +++
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Readme.md                                                                |  31 ++-
 Features/Intel/Debugging/Usb3DebugFeaturePkg/Include/Usb3DebugFeature.dsc                                                 | 131 ++---------
 Features/Intel/Debugging/Usb3DebugFeaturePkg/Readme.md                                                                    |  50 +++--
 Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dec                                                      |  14 +-
 Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dsc                                                      |  18 ++
 Features/Intel/Network/NetworkFeaturePkg/Include/NetworkFeature.dsc                                                       |  89 +-------
 Features/Intel/Network/NetworkFeaturePkg/NetworkFeaturePkg.dsc                                                            |  18 ++
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcAcpi/BmcAcpi.inf                                                     |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/BmcElog.inf                                                     |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbDxe.inf                                                          |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbPei.inf                                                          |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dxe/GenericIpmi.inf                                         |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Pei/PeiGenericIpmi.inf                                      |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Smm/SmmGenericIpmi.inf                                      |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc                                                 |  90 ++------
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMemory.fdf                                                  |  16 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PreMemory.fdf                                                   |   6 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dsc                                                      |  18 ++
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFru/IpmiFru.inf                                                     |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/DxeIpmiInit.inf                                                |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/PeiIpmiInit.inf                                                |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBaseLib/IpmiBaseLib.inf                                     |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBaseLibNull/IpmiBaseLibNull.inf                             |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiCommandLib/IpmiCommandLib.inf                               |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiPlatformHookLibNull/IpmiPlatformHookLibNull.inf             |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/PeiIpmiBaseLib/PeiIpmiBaseLib.inf                               |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/SmmIpmiBaseLib/SmmIpmiBaseLib.inf                               |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/OsWdt/OsWdt.inf                                                         |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/SolStatus/SolStatus.inf                                                 |   2 +-
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/Library/SpcrDeviceLib.h                                         |   2 +-
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PostMemory.fdf                                                  |  13 ++
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PreMemory.fdf                                                   |  11 +
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/SpcrFeature.dsc                                                 |  62 ------
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Readme.md                                                               |  12 +-
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dec                                                      |   6 +
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dsc                                                      |  18 ++
 Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf                                                         |   2 +-
 Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc                                                         |  74 +------
 Features/Intel/PowerManagement/S3FeaturePkg/S3FeaturePkg.dsc                                                              |  18 ++
 Features/Intel/PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf                                                               |   2 +-
 Features/Intel/Readme.md                                                                                                  |  49 +++--
 Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf                                                  |   2 +-
 Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.dsc                                               |  54 +----
 Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf                                       |   2 +-
 Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec                                                    |  10 +-
 Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dsc                                                    |  18 ++
 Features/Intel/TemplateFeaturePkg/Include/TemplateFeature.dsc                                                             |   2 +-
 Features/Intel/TemplateFeaturePkg/TemplateFeaturePkg.dsc                                                                  |  18 ++
 Features/Intel/UserInterface/LogoFeaturePkg/Include/LogoFeature.dsc                                                       |  69 +-----
 Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dec                                                            |   2 -
 Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dsc                                                            |  38 +++-
 Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf                                                    |   6 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc                                               |  92 +-------
 Features/Intel/UserInterface/UserAuthFeaturePkg/Library/PlatformPasswordLibNull/PlatformPasswordLibNull.inf               |   2 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/Library/UserPasswordLib/UserPasswordLib.inf                               |   2 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/Library/UserPasswordUiLib/UserPasswordUiLib.inf                           |   2 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dsc                                                    |  18 ++
 Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dxe.inf                       |   2 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.inf                        |   2 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSmm.inf                        |   2 +-
 Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/PostMemory.fdf                                             |   2 +-
 Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/VirtualKeyboardFeature.dsc                                 |  64 +-----
 Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardFeaturePkg.dec                                      |   7 +-
 Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardFeaturePkg.dsc                                      |  18 ++
 Platform/Intel/{WhitleyOpenBoardPkg => MinPlatformPkg}/Include/Fdf/CommonSpiFvHeaderInfo.fdf                              |   2 +-
 Platform/Intel/WhitleyOpenBoardPkg/JunctionCity/PlatformPkg.fdf                                                           |  48 ++--
 Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc                                                                        |  44 ++++
 Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.fdf                                                                        |  54 ++---
 96 files changed, 1159 insertions(+), 1334 deletions(-)
 create mode 100644 Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.fdf
 create mode 100644 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PostMemory.fdf
 create mode 100644 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PreMemory.fdf
 create mode 100644 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostMemory.fdf
 create mode 100644 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PreMemory.fdf
 create mode 100644 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PostMemory.fdf
 create mode 100644 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PreMemory.fdf
 rename Platform/Intel/{WhitleyOpenBoardPkg => MinPlatformPkg}/Include/Fdf/CommonSpiFvHeaderInfo.fdf (88%)

--
2.27.0.windows.1

^ permalink raw reply	[flat|nested] 86+ messages in thread

* [edk2-devel][edk2-platforms][PATCH V1 01/27] BeepDebugFeaturePkg: Use MinPlatformPkg build include files
  2022-01-12  2:20 [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency Oram, Isaac W
@ 2022-01-12  2:20 ` Oram, Isaac W
  2022-01-13  2:47   ` Nate DeSimone
  2022-01-19 23:30   ` Nate DeSimone
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 02/27] BeepDebugFeaturePkg: Fix all relative package paths Oram, Isaac W
                   ` (26 subsequent siblings)
  27 siblings, 2 replies; 86+ messages in thread
From: Oram, Isaac W @ 2022-01-12  2:20 UTC (permalink / raw)
  To: devel; +Cc: Isaac Oram, Sai Chaganty, Liming Gao, Eric Dong, Ming Tan

The BeepDebugFeaturePkg was malformed and did not build anything
and thus wasn't testable in standalone build.

Added gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable
to properly control the advanced feature inclusion.

Use the standard MinPlatform includes for core libraries. This
increases the build time, but reduces complexity when integrating
into a board build. Board build optimization is more valuable than
standalone build optimization.

Enable standalone build to test the library build and the component
builds using edk2 StatusCodeHandler drivers.

Add unique file names for the StatusCodeHandler components to avoid
collisions with any existing board handlers when incorporated in board
DSC and FDF files.

Add PreMemory.fdf and PostMemory.fdf content for including in board FDF
or AdvancedFeaturePkg in the future.

Removed unused sections in DSC and FDF to reduce file clutter.

Removed stale file header content from prior proprietary licensing.

Moved feature customization and common include into the package DSC
file to reduce board complexity when BeepDebugFeature.dsc is included.

Removed the FixedAtBuild build control for beep feature as it would be
redundant with the FeatureFlag control of the whole feature. Build
control is via PcdBeepDebugFeatureEnable and dynamic control is via
PcdStatusCodeUseBeep.

Improved Readme content, format, and coding style use.

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Ming Tan <ming.tan@intel.com>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dec                                                 |   7 +-
 Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dsc                                                 |  28 +++
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc                                            | 222 ++++++--------------
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/Library/BeepLib.h                                               |   6 +-
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PostMemory.fdf                                                  |  14 ++
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PreMemory.fdf                                                   |  13 ++
 Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/PeiBeepStatusCodeHandlerLib.inf        |   5 +-
 Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf |   3 -
 Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/SmmBeepStatusCodeHandlerLib.inf        |   3 -
 Features/Intel/Debugging/BeepDebugFeaturePkg/Readme.md                                                               |  91 +++++---
 10 files changed, 186 insertions(+), 206 deletions(-)

diff --git a/Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dec b/Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dec
index 4f4b36b091..d90611da51 100644
--- a/Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dec
+++ b/Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dec
@@ -31,6 +31,9 @@
 [Guids]
   gBeepDebugFeaturePkgTokenSpaceGuid  =  {0x54f56fb5, 0xea0e, 0x4518, {0xa0, 0x3e, 0x1b, 0xeb, 0x56, 0x94, 0xd2, 0x16}}
 
-[PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]
+[PcdsFeatureFlag]
+  gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable|FALSE|BOOLEAN|0x00000000
+
+[PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]
   # Beep is a legacy feature, disabled it by default
-  gBeepDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUseBeep|FALSE|BOOLEAN|0x00000001
+  gBeepDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUseBeep|TRUE|BOOLEAN|0x00000001
diff --git a/Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dsc b/Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dsc
index 47254f9974..56cad020bf 100644
--- a/Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dsc
+++ b/Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dsc
@@ -24,6 +24,34 @@
   PEI_ARCH                       = IA32
   DXE_ARCH                       = X64
 
+[Packages]
+  MinPlatformPkg/MinPlatformPkg.dec
+  BeepDebugFeaturePkg/BeepDebugFeaturePkg.dec
+
+[PcdsFeatureFlag]
+  #
+  # PCD needed for MinPlatform build includes
+  #
+  gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable                |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable                   |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable                      |FALSE
+
+[PcdsDynamicExDefault]
+  gBeepDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUseBeep|TRUE
+
+#
+# Include common libraries
+#
+!include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
+!include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
+!include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
+
+[LibraryClasses.Common]
+  #
+  # Required by common status code handler infrastructure
+  #
+  PlatformHookLib|MdeModulePkg/Library/BasePlatformHookLibNull/BasePlatformHookLibNull.inf
+
 #
 # This package always builds the feature.
 #
diff --git a/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc b/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc
index b24b3e458f..251de6932b 100644
--- a/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc
+++ b/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc
@@ -18,97 +18,16 @@
 #
 ################################################################################
 [Defines]
-!ifndef $(PEI_ARCH)
-  !error "PEI_ARCH must be specified to build this feature!"
-!endif
-!ifndef $(DXE_ARCH)
-  !error "DXE_ARCH must be specified to build this feature!"
-!endif
-
-################################################################################
-#
-# PCD Section - list of PCD Entries modified by the feature.
-#
-################################################################################
-
-# Unmark the following and StatusCodeHandler.efi to build the .dsc file directly
-#[PcdsDynamicDefault]
-#  gBeepDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUseBeep|TRUE
-
-################################################################################
-#
-# Library Class section - list of all Library Classes needed by this feature.
-#
-################################################################################
-
-!include MdePkg/MdeLibs.dsc.inc
-
-[LibraryClasses]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
-  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
-  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-  PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
-  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
-  TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
-  UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
-  UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
-  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
-  UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
-  PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
-
-[LibraryClasses.common.PEIM]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
-  MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
-  PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
-
-[LibraryClasses.IA32.PEIM,LibraryClasses.IA32.PEI_CORE,LibraryClasses.IA32.SEC]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
-
-[LibraryClasses.common.DXE_DRIVER]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-
-[LibraryClasses.common.DXE_RUNTIME_DRIVER]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-  UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
-  ReportStatusCodeLib|MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportStatusCodeLib.inf
-
-[LibraryClasses.common.UEFI_DRIVER]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-
-[LibraryClasses.X64.DXE_SMM_DRIVER]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  SmmServicesTableLib|MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.inf
-  MemoryAllocationLib|MdePkg/Library/SmmMemoryAllocationLib/SmmMemoryAllocationLib.inf
-  SmmIoLib|MdePkg/Library/SmmIoLib/SmmIoLib.inf
-  SmmMemLib|MdePkg/Library/SmmMemLib/SmmMemLib.inf
-  ReportStatusCodeLib|MdeModulePkg/Library/SmmReportStatusCodeLib/SmmReportStatusCodeLib.inf
+  !ifndef $(PEI_ARCH)
+    !error "PEI_ARCH must be specified to build this feature!"
+  !endif
+  !ifndef $(DXE_ARCH)
+    !error "DXE_ARCH must be specified to build this feature!"
+  !endif
+
+  DEFINE BEEP_PEIM_FILENAME  = b2356504-8ea3-42bd-912a-4b331990644a
+  DEFINE BEEP_DXE_FILENAME   = f1211fa9-d83d-4c79-8726-3afaebba1070
+  DEFINE BEEP_SMM_FILENAME   = a82cd452-0f17-4417-b8be-bb8cfdf9fa26
 
 ################################################################################
 #
@@ -128,77 +47,60 @@
 # Feature PEI Components
 #
 
-# @todo: Change below line to [Components.$(PEI_ARCH)] after https://bugzilla.tianocore.org/show_bug.cgi?id=2308
-#        is completed.
+#
+# By default, make the functional control a patcheable in module PCD
+#
+[PcdsPatchableInModule]
+  gBeepDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUseBeep
+
+[LibraryClasses.Common]
+  BeepLib|Debugging/BeepDebugFeaturePkg/Library/BeepLib/BeepLibNull.inf
+  BeepMapLib|Debugging/BeepDebugFeaturePkg/Library/BeepMapLib/BeepMapLib.inf
+
+[LibraryClasses.PEIM, LibraryClasses.PEI_CORE]
+  StatusCodeHandlerLib|Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/PeiBeepStatusCodeHandlerLib.inf
+
+[LibraryClasses.DXE_RUNTIME_DRIVER]
+  StatusCodeHandlerLib|Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf
+
+[LibraryClasses.DXE_SMM_DRIVER]
+  StatusCodeHandlerLib|Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/SmmBeepStatusCodeHandlerLib.inf
+
 [Components.IA32]
-  #####################################
-  # Beep Debug Feature Package
-  #####################################
 
-  # Add library instances here that are not included in package components and should be tested
-  # in the package build.
-  BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/PeiBeepStatusCodeHandlerLib.inf
+  MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf {
+    <Defines>
+      #
+      # Many boards already have StatusCodeHandler components built from the common core code
+      # Providing a unique name avoids collisions.  Both status code handler components will
+      # install their listeners with the status code routers.
+      #
+      FILE_GUID = $(BEEP_PEIM_FILENAME)
+    <LibraryClasses>
+      NULL|Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/PeiBeepStatusCodeHandlerLib.inf
+  }
 
-  # The following is an example for used with StatusCodeHandler:
-# MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf {
-#   <LibraryClasses>
-#     OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
-#     SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf
-#     BeepLib|BeepDebugFeaturePkg/Library/BeepLib/BeepLibNull.inf
-#     BeepMapLib|BeepDebugFeaturePkg/Library/BeepMapLib/BeepMapLib.inf
-#     NULL|BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/PeiBeepStatusCodeHandlerLib.inf
-# }
-
-  # Add components here that should be included in the package build.
-
-#
-# Feature DXE Components
-#
-
-# @todo: Change below line to [Components.$(DXE_ARCH)] after https://bugzilla.tianocore.org/show_bug.cgi?id=2308
-#        is completed.
 [Components.X64]
-  #####################################
-  # Beep Debug Feature Package
-  #####################################
+  MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf {
+    <Defines>
+      #
+      # Many boards already have StatusCodeHandler components built from the common core code
+      # Providing a unique name avoids collisions.  Both status code handler components will
+      # install their listeners with the status code routers.
+      #
+      FILE_GUID = $(BEEP_DXE_FILENAME)
+    <LibraryClasses>
+      NULL|Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf
+  }
 
-  # Add library instances here that are not included in package components and should be tested
-  # in the package build.
-  BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf
-  BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/SmmBeepStatusCodeHandlerLib.inf
-
-  # The following is an example for used with StatusCodeHandler:
-# MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf {
-#   <LibraryClasses>
-#     OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
-#     SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf
-#     BeepLib|BeepDebugFeaturePkg/Library/BeepLib/BeepLibNull.inf
-#     BeepMapLib|BeepDebugFeaturePkg/Library/BeepMapLib/BeepMapLib.inf
-#     NULL|BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf
-# }
-
-# MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerSmm.inf {
-#   <LibraryClasses>
-#     OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
-#     SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf
-#     BeepLib|BeepDebugFeaturePkg/Library/BeepLib/BeepLibNull.inf
-#     BeepMapLib|BeepDebugFeaturePkg/Library/BeepMapLib/BeepMapLib.inf
-#     NULL|BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/SmmBeepStatusCodeHandlerLib.inf
-# }
-
-  # Add components here that should be included in the package build.
-
-###################################################################################################
-#
-# BuildOptions Section - Define the module specific tool chain flags that should be used as
-#                        the default flags for a module. These flags are appended to any
-#                        standard flags that are defined by the build process. They can be
-#                        applied for any modules or only those modules with the specific
-#                        module style (EDK or EDKII) specified in [Components] section.
-#
-#                        For advanced features, it is recommended to enable [BuildOptions] in
-#                        the applicable INF file so it does not affect the whole board package
-#                        build when this DSC file is active.
-#
-###################################################################################################
-[BuildOptions]
+  MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerSmm.inf {
+    <Defines>
+      #
+      # Many boards already have StatusCodeHandler components built from the common core code
+      # Providing a unique name avoids collisions.  Both status code handler components will
+      # install their listeners with the status code routers.
+      #
+      FILE_GUID = $(BEEP_SMM_FILENAME)
+    <LibraryClasses>
+      NULL|Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/SmmBeepStatusCodeHandlerLib.inf
+  }
diff --git a/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/Library/BeepLib.h b/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/Library/BeepLib.h
index f768acc557..0b8f71b097 100644
--- a/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/Library/BeepLib.h
+++ b/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/Library/BeepLib.h
@@ -15,12 +15,12 @@
   Sends the 32-bit value specified by Value to Beep device, and returns Value.
   Some implementations of this library function may perform I/O operations
   directly to Beep device.  Other implementations may send Value to
-  ReportStatusCode(), and the status code reporting mechanism will eventually
+  ReportStatusCode (), and the status code reporting mechanism will eventually
   display the 32-bit value on the status reporting device.
 
-  Beep() must actively prevent recursion.  If Beep() is called while
+  Beep () must actively prevent recursion.  If Beep () is called while
   processing another Post Code Library function, then
-  Beep() must return Value immediately.
+  Beep () must return Value immediately.
 
   @param  Value  Beep count.
 **/
diff --git a/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PostMemory.fdf b/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PostMemory.fdf
new file mode 100644
index 0000000000..447fb88235
--- /dev/null
+++ b/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PostMemory.fdf
@@ -0,0 +1,14 @@
+## @file
+#  FDF file for post-memory BeepDebugFeature advanced feature.
+#
+#  This file is intended to be included into another package so advanced features
+#  can be conditionally included in the flash image by enabling the respective
+#  feature via its FeaturePCD.
+#
+# Copyright (C) 2022 Intel Corporation.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+##
+
+INF FILE_GUID = $(BEEP_DXE_FILENAME) MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf
+INF FILE_GUID = $(BEEP_SMM_FILENAME) MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerSmm.inf
diff --git a/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PreMemory.fdf b/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PreMemory.fdf
new file mode 100644
index 0000000000..160f5e3ffd
--- /dev/null
+++ b/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PreMemory.fdf
@@ -0,0 +1,13 @@
+## @file
+#  FDF file for pre-memory BeepDebugFeature advanced feature.
+#
+#  This file is intended to be included into another package so advanced features
+#  can be conditionally included in the flash image by enabling the respective
+#  feature via its FeaturePCD.
+#
+# Copyright (C) 2022 Intel Corporation.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+##
+
+INF FILE_GUID = $(BEEP_PEIM_FILENAME) MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf
diff --git a/Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/PeiBeepStatusCodeHandlerLib.inf b/Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/PeiBeepStatusCodeHandlerLib.inf
index 421b246663..5be78a72e8 100644
--- a/Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/PeiBeepStatusCodeHandlerLib.inf
+++ b/Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/PeiBeepStatusCodeHandlerLib.inf
@@ -4,9 +4,6 @@
 # Copyright (c) 2010 - 2020, Intel Corporation. All rights reserved.<BR>
 # SPDX-License-Identifier: BSD-2-Clause-Patent
 #
-# vendor.  This file may not be modified, except as allowed by
-# additional terms of your license agreement.
-#
 ##
 
 [Defines]
@@ -15,7 +12,7 @@
   FILE_GUID                      = C4210E71-0A38-4728-8D25-4876348AA380
   MODULE_TYPE                    = PEIM
   CONSTRUCTOR                    = PeiBeepStatusCodeHandlerLibConstructor
-  LIBRARY_CLASS                  = StatusCodeHandlerLib|SEC PEIM PEI_COR
+  LIBRARY_CLASS                  = StatusCodeHandlerLib|SEC PEIM PEI_CORE
 
 #
 # The following information is for reference only and not required by the build tools.
diff --git a/Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf b/Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf
index b9aae39128..2343e35a78 100644
--- a/Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf
+++ b/Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf
@@ -4,9 +4,6 @@
 # Copyright (c) 2010 - 2020, Intel Corporation. All rights reserved.<BR>
 # SPDX-License-Identifier: BSD-2-Clause-Patent
 #
-# vendor.  This file may not be modified, except as allowed by
-# additional terms of your license agreement.
-#
 ##
 
 [Defines]
diff --git a/Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/SmmBeepStatusCodeHandlerLib.inf b/Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/SmmBeepStatusCodeHandlerLib.inf
index caa82264ae..4db1748fe3 100644
--- a/Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/SmmBeepStatusCodeHandlerLib.inf
+++ b/Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/SmmBeepStatusCodeHandlerLib.inf
@@ -4,9 +4,6 @@
 # Copyright (c) 2010 - 2020, Intel Corporation. All rights reserved.<BR>
 # SPDX-License-Identifier: BSD-2-Clause-Patent
 #
-# vendor.  This file may not be modified, except as allowed by
-# additional terms of your license agreement.
-#
 ##
 
 [Defines]
diff --git a/Features/Intel/Debugging/BeepDebugFeaturePkg/Readme.md b/Features/Intel/Debugging/BeepDebugFeaturePkg/Readme.md
index ee254d0f99..6626c9b764 100644
--- a/Features/Intel/Debugging/BeepDebugFeaturePkg/Readme.md
+++ b/Features/Intel/Debugging/BeepDebugFeaturePkg/Readme.md
@@ -6,25 +6,29 @@
 More Information:
 
 ## Purpose
-The BeepDebugFeaturePkg include some useful beep debug libraries, such as get beep value from status code and beep.
-This is an important capability in firmware development to get and analyze the early error when there is not serial port.
+Very often it is necessary to debug very close to the reset vector or in production systems that lack serial ports, seven segment displays, or useful LED that are typically used to output useful debug messages.
 
+The BeepDebugFeaturePkg includes some useful beep focused debug libraries.
+
+This isn't intended for production use.
+
+There is not currently seamless integration into the SecCore component that handles the reset vector. In order to debug that early, it will be necessary to use the BeepLib directly in SEC code.
 
 # High-Level Theory of Operation
-It provide a library BeepStatusCodeHandlerLib used by edk2 StatusCodeHandler.efi, used to do beep if needed.
-It also provide a library of BeepMap lib, it map the status code to beep value.
+It provides a library, BeepStatusCodeHandlerLib, used by edk2 StatusCodeHandler.efi, used to do beep if needed.
+It also provide a library of BeepMap lib which maps the status code to a beep value.
 A library of Beep lib is needed by platform, and this pkg has a Null implementation.
 
-In the library contstructor function, BeepStatusCodeHandlerLib register the call back function for ReportStatusCode.
-When called, it call GetBeepFromStatusCode() in BeepMapLib to get beep value from status code, and call Beep() in BeepLib to beep.
+In the library contstructor function, BeepStatusCodeHandlerLib registers the call back function for ReportStatusCode. When called, it calls GetBeepFromStatusCode (); in BeepMapLib to get beep value from status code, and calls Beep () in BeepLib to beep a speaker.
 
-BeepStatusCodeHandlerLib include 3 libraries for PEI, RuntimeDxe, SMM:
+BeepStatusCodeHandlerLib includes three libraries for PEI, RuntimeDxe, and SMM:
 * PeiBeepStatusCodeHandlerLib
 * RuntimeDxeBeepStatusCodeHandlerLib
 * SmmBeepStatusCodeHandlerLib
 
 ## Firmware Volumes
-Linked with StatusCodeHandler.efi, and make sure put the StatusCodeHandler.efi after the ReportStatusCodeRouter.efi.
+These libraries need to be linked into StatusCodeHandler components.
+Make sure one puts the StatusCodeHandler.efi after the ReportStatusCodeRouter.efi.
 
 ## Modules
 * BeepStatusCodeHandlerLib
@@ -32,13 +36,17 @@ Linked with StatusCodeHandler.efi, and make sure put the StatusCodeHandler.efi a
 * BeepLibNull
 
 ## BeepStatusCodeHandlerLib
-This library register the call back function for ReportStatusCode, and get beep valude from status code, and do beep.
+This library registers the callback function for ReportStatusCode, gets beep value from status code, and does the beep.
 
 ## BeepMapLib
-This library provide a function to get beep value from status code.
+This library provides a function to get a beep value for a status code.
+
+## BeepLibNull
+This library provide a function to perform the beep.
 
 ## Key Functions
 * In PeiBeepStatusCodeHandlerLib:
+```
   EFI_STATUS
   EFIAPI
   BeepStatusCodeReportWorker (
@@ -49,8 +57,10 @@ This library provide a function to get beep value from status code.
     IN CONST EFI_GUID                 *CallerId,
     IN CONST EFI_STATUS_CODE_DATA     *Data OPTIONAL
   )
+```
 
 * In RuntimeDxeBeepStatusCodeHandlerLib:
+```
   EFI_STATUS
   EFIAPI
   BeepStatusCodeReportWorker (
@@ -60,8 +70,10 @@ This library provide a function to get beep value from status code.
     IN EFI_GUID                       *CallerId,
     IN EFI_STATUS_CODE_DATA           *Data OPTIONAL
   )
+```
 
 * In SmmBeepStatusCodeHandlerLib:
+```
   EFI_STATUS
   EFIAPI
   BeepStatusCodeReportWorker (
@@ -71,55 +83,72 @@ This library provide a function to get beep value from status code.
     IN EFI_GUID                       *CallerId,
     IN EFI_STATUS_CODE_DATA           *Data OPTIONAL
     )
+```
 
 * In BeepMapLib:
+```
   UINT32
   EFIAPI
   GetBeepValueFromStatusCode (
     IN EFI_STATUS_CODE_TYPE           CodeType,
     IN EFI_STATUS_CODE_VALUE          Value
-  )
+    )
+```
 
 * In BeepLib:
+```
   VOID
   EFIAPI
   Beep (
     IN UINT32  Value
-  )
+    )
+```
 
 ## Configuration
-* Link the library to StatusCodeHandler.efi.
-  Example:
-    MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf {
-    <LibraryClasses>
-      NULL|BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf
-    }
-  Refer to BeepDebugFeature.dsc for other example.
-* Config PCD gBeepDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUseBeep.
-  In platform .dsc file, need to config the type of gBeepDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUseBeep.
-  Use PcdsFixedAtBuild to save binary size, and use PcdsDynamic if want to enable/disable in runtime.
-* Implemented platform's special BeepMapLib if needed.
-* Provide the platform's special BeepLib.
-* Make sure put the StatusCodeHandler.efi after the ReportStatusCodeRouter.efi.
+* Configure PCD gBeepDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUseBeep.
+  In board DSC file, the board developer needs to configure the type of gBeepDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUseBeep control desired.
+  [PcdsFixedAtBuild] is the feature default value as this has lowest size.
+  [PcdsDynamicExDefault] is the most common configuration as it provides dynamic control during debugging.
+* Implemented board specific BeepMapLib if custom status code to beep code mapping as needed.
+* Provide the board specific BeepLib to perform beeps on the board specific hardware.
+```The default library does not cause any hardware to beep```
 
 ## Data Flows
 Status Code (ReportStatusCode) -> Beep Value (GetBeepValueFromStatusCode).
 
 ## Control Flows
-ReportStatusCode() -> BeepStatusCodeReportWorker() -> GetBeepValueFromStatusCode() -> Beep()
+ReportStatusCode () -> BeepStatusCodeReportWorker () -> GetBeepValueFromStatusCode () -> Beep ()
 
 ## Build Flows
-There is not special build flows.
+Standalone build
+* build -a IA32 -a X64 -p Debugging\BeepDebugFeaturePkg\BeepDebugFeaturePkg.dsc
 
+AdvanceFeaturePkg build
+* build -a IA32 -a X64 -p AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
 ## Test Point Results
-Verify the post code shown is correct.
+None
 
 ## Functional Exit Criteria
 N/A
 
 ## Feature Enabling Checklist
-* Set the PCD gBeepDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUseBeep to TRUE.
-* Plug out all the memory, check can here the beep.
+* Verify in board DSC file that gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable set to TRUE
+* Verify board specific BeepLib implemented and included in board DSC file.
+* Verify that the board has a PlatformHookLib instance.  There is a null library implementation if needed
+```
+      PlatformHookLib|MdeModulePkg/Library/BasePlatformHookLibNull/BasePlatformHookLibNull.inf
+```
+* Verify that your board has the StatusCodeHandler components (PEIM or driver) desired.
+```
+  Example:
+    MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf {
+    <LibraryClasses>
+      NULL|BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf
+    }
+  There are default StatusCodeHandlers for PEI, RT, and SMM in BeepDebugFeaturePkg/Include in PreMemory.fdf and PostMemory.fdf for use.  But most boards will already have these components and you will just want to add the appropriate *StatusCodeHandlerLib.inf to each component.
+```
+* Build
+* Remove all the memory from the system and verify audible beep is heard when attempting to boot.
 
 ## Common Optimizations
-* Implemented platform's special BeepMapLib if needed.
+N/A
-- 
2.27.0.windows.1


^ permalink raw reply related	[flat|nested] 86+ messages in thread

* [edk2-devel][edk2-platforms][PATCH V1 02/27] BeepDebugFeaturePkg: Fix all relative package paths
  2022-01-12  2:20 [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency Oram, Isaac W
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 01/27] BeepDebugFeaturePkg: Use MinPlatformPkg build include files Oram, Isaac W
@ 2022-01-12  2:20 ` Oram, Isaac W
  2022-01-13  2:47   ` Nate DeSimone
  2022-01-14  5:27   ` Chaganty, Rangasai V
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 03/27] AcpiDebugFeaturePkg: " Oram, Isaac W
                   ` (25 subsequent siblings)
  27 siblings, 2 replies; 86+ messages in thread
From: Oram, Isaac W @ 2022-01-12  2:20 UTC (permalink / raw)
  To: devel; +Cc: Isaac Oram, Sai Chaganty, Liming Gao, Eric Dong

Packages should be at the root of a PACKAGES_PATH entry.
At some point, paths were relative to edk2-platforms/Features/Intel
which was functional, but interferes with the proper functioning
of packaging tools.

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Eric Dong <eric.dong@intel.com>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc b/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc
index 251de6932b..00ef022657 100644
--- a/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc
+++ b/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc
@@ -54,17 +54,17 @@
   gBeepDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUseBeep
 
 [LibraryClasses.Common]
-  BeepLib|Debugging/BeepDebugFeaturePkg/Library/BeepLib/BeepLibNull.inf
-  BeepMapLib|Debugging/BeepDebugFeaturePkg/Library/BeepMapLib/BeepMapLib.inf
+  BeepLib|BeepDebugFeaturePkg/Library/BeepLib/BeepLibNull.inf
+  BeepMapLib|BeepDebugFeaturePkg/Library/BeepMapLib/BeepMapLib.inf
 
 [LibraryClasses.PEIM, LibraryClasses.PEI_CORE]
-  StatusCodeHandlerLib|Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/PeiBeepStatusCodeHandlerLib.inf
+  StatusCodeHandlerLib|BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/PeiBeepStatusCodeHandlerLib.inf
 
 [LibraryClasses.DXE_RUNTIME_DRIVER]
-  StatusCodeHandlerLib|Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf
+  StatusCodeHandlerLib|BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf
 
 [LibraryClasses.DXE_SMM_DRIVER]
-  StatusCodeHandlerLib|Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/SmmBeepStatusCodeHandlerLib.inf
+  StatusCodeHandlerLib|BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/SmmBeepStatusCodeHandlerLib.inf
 
 [Components.IA32]
 
@@ -77,7 +77,7 @@
       #
       FILE_GUID = $(BEEP_PEIM_FILENAME)
     <LibraryClasses>
-      NULL|Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/PeiBeepStatusCodeHandlerLib.inf
+      NULL|BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/PeiBeepStatusCodeHandlerLib.inf
   }
 
 [Components.X64]
@@ -90,7 +90,7 @@
       #
       FILE_GUID = $(BEEP_DXE_FILENAME)
     <LibraryClasses>
-      NULL|Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf
+      NULL|BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf
   }
 
   MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerSmm.inf {
@@ -102,5 +102,5 @@
       #
       FILE_GUID = $(BEEP_SMM_FILENAME)
     <LibraryClasses>
-      NULL|Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/SmmBeepStatusCodeHandlerLib.inf
+      NULL|BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/SmmBeepStatusCodeHandlerLib.inf
   }
-- 
2.27.0.windows.1


^ permalink raw reply related	[flat|nested] 86+ messages in thread

* [edk2-devel][edk2-platforms][PATCH V1 03/27] AcpiDebugFeaturePkg: Fix all relative package paths
  2022-01-12  2:20 [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency Oram, Isaac W
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 01/27] BeepDebugFeaturePkg: Use MinPlatformPkg build include files Oram, Isaac W
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 02/27] BeepDebugFeaturePkg: Fix all relative package paths Oram, Isaac W
@ 2022-01-12  2:20 ` Oram, Isaac W
  2022-01-13  2:48   ` Nate DeSimone
  2022-01-14  5:18   ` Chaganty, Rangasai V
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 04/27] IpmiFeaturePkg: " Oram, Isaac W
                   ` (24 subsequent siblings)
  27 siblings, 2 replies; 86+ messages in thread
From: Oram, Isaac W @ 2022-01-12  2:20 UTC (permalink / raw)
  To: devel; +Cc: Isaac Oram, Sai Chaganty, Liming Gao, Eric Dong

Packages should be at the root of a PACKAGES_PATH entry.
At some point, paths were relative to edk2-platforms/Features/Intel
which was functional, but interferes with the proper functioning
of packaging tools.

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Eric Dong <eric.dong@intel.com>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf | 2 +-
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf | 2 +-
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec          | 2 +-
 Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc     | 4 ++--
 Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf           | 4 ++--
 5 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf
index b293d83cd9..04b5953bf6 100644
--- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf
+++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf
@@ -32,7 +32,7 @@
 [Packages]
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
-  Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
+  AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
 
 [Pcd]
   gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureActive  ## CONSUMES
diff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf
index dbb33e4ae2..a0058b51ab 100644
--- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf
+++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf
@@ -33,7 +33,7 @@
 [Packages]
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
-  Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
+  AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
 
 [Pcd]
   gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureActive  ## CONSUMES
diff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
index c3bd89fe2b..9159231007 100644
--- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
+++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
@@ -29,7 +29,7 @@
 [PcdsFeatureFlag]
   gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable|FALSE|BOOLEAN|0xA0000001
 
-[PcdsFixedAtBuild,PcdsPatchableInModule,PcdsDynamic,PcdsDynamicEx]
+[PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]
   ## This PCD specifies the ACPI debug message buffer size.
   gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugBufferSize|0x10000|UINT32|0xF0000001
 
diff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc
index 856222a53d..b142978be1 100644
--- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc
+++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc
@@ -109,8 +109,8 @@
   # in the package build.
 
   # Add components here that should be included in the package build.
-  Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf
-  Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf
+  AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf
+  AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf
 
 ###################################################################################################
 #
diff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf
index bbd6eca87b..84560dae50 100644
--- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf
+++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf
@@ -7,5 +7,5 @@
 #
 ##
 
-  INF RuleOverride = DRIVER_ACPITABLE Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf
-  INF RuleOverride = DRIVER_ACPITABLE Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf
+  INF RuleOverride = DRIVER_ACPITABLE AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf
+  INF RuleOverride = DRIVER_ACPITABLE AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf
-- 
2.27.0.windows.1


^ permalink raw reply related	[flat|nested] 86+ messages in thread

* [edk2-devel][edk2-platforms][PATCH V1 04/27] IpmiFeaturePkg: Fix all relative package paths
  2022-01-12  2:20 [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency Oram, Isaac W
                   ` (2 preceding siblings ...)
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 03/27] AcpiDebugFeaturePkg: " Oram, Isaac W
@ 2022-01-12  2:20 ` Oram, Isaac W
  2022-01-13  2:48   ` Nate DeSimone
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 05/27] IpmiFeaturePkg: Fix build errors Oram, Isaac W
                   ` (23 subsequent siblings)
  27 siblings, 1 reply; 86+ messages in thread
From: Oram, Isaac W @ 2022-01-12  2:20 UTC (permalink / raw)
  To: devel; +Cc: Isaac Oram, Liming Gao, Nate DeSimone

Packages should be at the root of a PACKAGES_PATH entry.
At some point, paths were relative to edk2-platforms/Features/Intel
which was functional, but interferes with the proper functioning
of packaging tools.

Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcAcpi/BmcAcpi.inf                                         |  2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/BmcElog.inf                                         |  2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbDxe.inf                                              |  2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbPei.inf                                              |  2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dxe/GenericIpmi.inf                             |  2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Pei/PeiGenericIpmi.inf                          |  2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Smm/SmmGenericIpmi.inf                          |  2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc                                     | 36 ++++++++++----------
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMemory.fdf                                      | 16 ++++-----
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PreMemory.fdf                                       |  6 ++--
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFru/IpmiFru.inf                                         |  2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/DxeIpmiInit.inf                                    |  2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/PeiIpmiInit.inf                                    |  2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBaseLib/IpmiBaseLib.inf                         |  2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBaseLibNull/IpmiBaseLibNull.inf                 |  2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiCommandLib/IpmiCommandLib.inf                   |  2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiPlatformHookLibNull/IpmiPlatformHookLibNull.inf |  2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/PeiIpmiBaseLib/PeiIpmiBaseLib.inf                   |  2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/SmmIpmiBaseLib/SmmIpmiBaseLib.inf                   |  2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/OsWdt/OsWdt.inf                                             |  2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/SolStatus/SolStatus.inf                                     |  2 +-
 21 files changed, 47 insertions(+), 47 deletions(-)

diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcAcpi/BmcAcpi.inf b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcAcpi/BmcAcpi.inf
index a84813f55c..7cd60e417b 100644
--- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcAcpi/BmcAcpi.inf
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcAcpi/BmcAcpi.inf
@@ -22,7 +22,7 @@
 [Packages]
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
-  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
+  IpmiFeaturePkg/IpmiFeaturePkg.dec
 
 [LibraryClasses]
   UefiBootServicesTableLib
diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/BmcElog.inf b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/BmcElog.inf
index 665b3d9bda..388dd2740c 100644
--- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/BmcElog.inf
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/BmcElog.inf
@@ -21,7 +21,7 @@
 
 [Packages]
   MdePkg/MdePkg.dec
-  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
+  IpmiFeaturePkg/IpmiFeaturePkg.dec
 
 [LibraryClasses]
   UefiDriverEntryPoint
diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbDxe.inf b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbDxe.inf
index 85836cd8ee..61222e0c00 100644
--- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbDxe.inf
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbDxe.inf
@@ -21,7 +21,7 @@
 [Packages]
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
-  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
+  IpmiFeaturePkg/IpmiFeaturePkg.dec
 
 [LibraryClasses]
   UefiBootServicesTableLib
diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbPei.inf b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbPei.inf
index 7ad00ae574..797dbe6a07 100644
--- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbPei.inf
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbPei.inf
@@ -20,7 +20,7 @@
 
 [Packages]
   MdePkg/MdePkg.dec
-  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
+  IpmiFeaturePkg/IpmiFeaturePkg.dec
 
 [LibraryClasses]
   PeimEntryPoint
diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dxe/GenericIpmi.inf b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dxe/GenericIpmi.inf
index 9881f9e3d0..8d80aeb6b5 100644
--- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dxe/GenericIpmi.inf
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dxe/GenericIpmi.inf
@@ -36,7 +36,7 @@
 
 [Packages]
   MdePkg/MdePkg.dec
-  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
+  IpmiFeaturePkg/IpmiFeaturePkg.dec
 
 [LibraryClasses]
   MemoryAllocationLib
diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Pei/PeiGenericIpmi.inf b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Pei/PeiGenericIpmi.inf
index 883a9168e5..a646161ce1 100644
--- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Pei/PeiGenericIpmi.inf
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Pei/PeiGenericIpmi.inf
@@ -33,7 +33,7 @@
 
 [Packages]
   MdePkg/MdePkg.dec
-  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
+  IpmiFeaturePkg/IpmiFeaturePkg.dec
 
 [LibraryClasses]
   PeimEntryPoint
diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Smm/SmmGenericIpmi.inf b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Smm/SmmGenericIpmi.inf
index a534f7dac8..f430195d1e 100644
--- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Smm/SmmGenericIpmi.inf
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Smm/SmmGenericIpmi.inf
@@ -27,7 +27,7 @@
 
 [Packages]
   MdePkg/MdePkg.dec
-  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
+  IpmiFeaturePkg/IpmiFeaturePkg.dec
 
 [LibraryClasses]
   MemoryAllocationLib
diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc
index a6eccb428b..c1ce340da2 100644
--- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc
@@ -47,8 +47,8 @@
   #####################################
   # IPMI Feature Package
   #####################################
-  IpmiCommandLib|OutOfBandManagement/IpmiFeaturePkg/Library/IpmiCommandLib/IpmiCommandLib.inf
-  IpmiPlatformHookLib|OutOfBandManagement/IpmiFeaturePkg/Library/IpmiPlatformHookLibNull/IpmiPlatformHookLibNull.inf
+  IpmiCommandLib|IpmiFeaturePkg/Library/IpmiCommandLib/IpmiCommandLib.inf
+  IpmiPlatformHookLib|IpmiFeaturePkg/Library/IpmiPlatformHookLibNull/IpmiPlatformHookLibNull.inf
 
 [LibraryClasses.common.PEI_CORE,LibraryClasses.common.PEIM]
   #######################################
@@ -65,7 +65,7 @@
   #####################################
   # IPMI Feature Package
   #####################################
-  IpmiBaseLib|OutOfBandManagement/IpmiFeaturePkg/Library/PeiIpmiBaseLib/PeiIpmiBaseLib.inf
+  IpmiBaseLib|IpmiFeaturePkg/Library/PeiIpmiBaseLib/PeiIpmiBaseLib.inf
 
 [LibraryClasses.common.DXE_DRIVER,LibraryClasses.common.UEFI_DRIVER]
   #######################################
@@ -82,7 +82,7 @@
   #####################################
   # IPMI Feature Package
   #####################################
-  IpmiBaseLib|OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBaseLib/IpmiBaseLib.inf
+  IpmiBaseLib|IpmiFeaturePkg/Library/IpmiBaseLib/IpmiBaseLib.inf
 
 ################################################################################
 #
@@ -112,14 +112,14 @@
   # Add library instances here that are not included in package components and should be tested
   # in the package build.
 
-  OutOfBandManagement/IpmiFeaturePkg/Library/IpmiPlatformHookLibNull/IpmiPlatformHookLibNull.inf
+  IpmiFeaturePkg/Library/IpmiPlatformHookLibNull/IpmiPlatformHookLibNull.inf
 
   #
   # Add components here that should be included in the package build.
   #
-  OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Pei/PeiGenericIpmi.inf
-  OutOfBandManagement/IpmiFeaturePkg/Frb/FrbPei.inf
-  OutOfBandManagement/IpmiFeaturePkg/IpmiInit/PeiIpmiInit.inf
+  IpmiFeaturePkg/GenericIpmi/Pei/PeiGenericIpmi.inf
+  IpmiFeaturePkg/Frb/FrbPei.inf
+  IpmiFeaturePkg/IpmiInit/PeiIpmiInit.inf
 
 #
 # Feature DXE Components
@@ -135,20 +135,20 @@
   # Add library instances here that are not included in package components and should be tested
   # in the package build.
 
-  OutOfBandManagement/IpmiFeaturePkg/Library/IpmiPlatformHookLibNull/IpmiPlatformHookLibNull.inf
+  IpmiFeaturePkg/Library/IpmiPlatformHookLibNull/IpmiPlatformHookLibNull.inf
 
   #
   # Add components here that should be included in the package build.
   #
-  OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dxe/GenericIpmi.inf
-  OutOfBandManagement/IpmiFeaturePkg/Library/SmmIpmiBaseLib/SmmIpmiBaseLib.inf
-  OutOfBandManagement/IpmiFeaturePkg/BmcAcpi/BmcAcpi.inf
-  OutOfBandManagement/IpmiFeaturePkg/BmcElog/BmcElog.inf
-  OutOfBandManagement/IpmiFeaturePkg/Frb/FrbDxe.inf
-  OutOfBandManagement/IpmiFeaturePkg/IpmiFru/IpmiFru.inf
-  OutOfBandManagement/IpmiFeaturePkg/IpmiInit/DxeIpmiInit.inf
-  OutOfBandManagement/IpmiFeaturePkg/OsWdt/OsWdt.inf
-  OutOfBandManagement/IpmiFeaturePkg/SolStatus/SolStatus.inf
+  IpmiFeaturePkg/GenericIpmi/Dxe/GenericIpmi.inf
+  IpmiFeaturePkg/Library/SmmIpmiBaseLib/SmmIpmiBaseLib.inf
+  IpmiFeaturePkg/BmcAcpi/BmcAcpi.inf
+  IpmiFeaturePkg/BmcElog/BmcElog.inf
+  IpmiFeaturePkg/Frb/FrbDxe.inf
+  IpmiFeaturePkg/IpmiFru/IpmiFru.inf
+  IpmiFeaturePkg/IpmiInit/DxeIpmiInit.inf
+  IpmiFeaturePkg/OsWdt/OsWdt.inf
+  IpmiFeaturePkg/SolStatus/SolStatus.inf
 
 ###################################################################################################
 #
diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMemory.fdf b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMemory.fdf
index cbd9453cf0..158b5455d8 100644
--- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMemory.fdf
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMemory.fdf
@@ -7,11 +7,11 @@
 #
 ##
 
-  INF OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dxe/GenericIpmi.inf
-  INF OutOfBandManagement/IpmiFeaturePkg/IpmiInit/DxeIpmiInit.inf
-  INF RuleOverride = DRIVER_ACPITABLE OutOfBandManagement/IpmiFeaturePkg/BmcAcpi/BmcAcpi.inf
-  INF OutOfBandManagement/IpmiFeaturePkg/BmcElog/BmcElog.inf
-  INF OutOfBandManagement/IpmiFeaturePkg/Frb/FrbDxe.inf
-  INF OutOfBandManagement/IpmiFeaturePkg/IpmiFru/IpmiFru.inf
-  INF OutOfBandManagement/IpmiFeaturePkg/OsWdt/OsWdt.inf
-  INF OutOfBandManagement/IpmiFeaturePkg/SolStatus/SolStatus.inf
+  INF IpmiFeaturePkg/GenericIpmi/Dxe/GenericIpmi.inf
+  INF IpmiFeaturePkg/IpmiInit/DxeIpmiInit.inf
+  INF RuleOverride = DRIVER_ACPITABLE IpmiFeaturePkg/BmcAcpi/BmcAcpi.inf
+  INF IpmiFeaturePkg/BmcElog/BmcElog.inf
+  INF IpmiFeaturePkg/Frb/FrbDxe.inf
+  INF IpmiFeaturePkg/IpmiFru/IpmiFru.inf
+  INF IpmiFeaturePkg/OsWdt/OsWdt.inf
+  INF IpmiFeaturePkg/SolStatus/SolStatus.inf
diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PreMemory.fdf b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PreMemory.fdf
index 826490952b..d214988bd1 100644
--- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PreMemory.fdf
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PreMemory.fdf
@@ -7,6 +7,6 @@
 #
 ##
 
-INF OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Pei/PeiGenericIpmi.inf
-INF OutOfBandManagement/IpmiFeaturePkg/IpmiInit/PeiIpmiInit.inf
-INF OutOfBandManagement/IpmiFeaturePkg/Frb/FrbPei.inf
+INF IpmiFeaturePkg/GenericIpmi/Pei/PeiGenericIpmi.inf
+INF IpmiFeaturePkg/IpmiInit/PeiIpmiInit.inf
+INF IpmiFeaturePkg/Frb/FrbPei.inf
diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFru/IpmiFru.inf b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFru/IpmiFru.inf
index 0778b221c1..322f061a0f 100644
--- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFru/IpmiFru.inf
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFru/IpmiFru.inf
@@ -21,7 +21,7 @@
 
 [Packages]
   MdePkg/MdePkg.dec
-  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
+  IpmiFeaturePkg/IpmiFeaturePkg.dec
 
 [LibraryClasses]
   UefiDriverEntryPoint
diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/DxeIpmiInit.inf b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/DxeIpmiInit.inf
index 831bfb0b5e..8236fe4842 100644
--- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/DxeIpmiInit.inf
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/DxeIpmiInit.inf
@@ -21,7 +21,7 @@
 [Packages]
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
-  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
+  IpmiFeaturePkg/IpmiFeaturePkg.dec
 
 [LibraryClasses]
   UefiBootServicesTableLib
diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/PeiIpmiInit.inf b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/PeiIpmiInit.inf
index 607a185eb6..3fb31c729a 100644
--- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/PeiIpmiInit.inf
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/PeiIpmiInit.inf
@@ -21,7 +21,7 @@
 [Packages]
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
-  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
+  IpmiFeaturePkg/IpmiFeaturePkg.dec
 
 [LibraryClasses]
   PeimEntryPoint
diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBaseLib/IpmiBaseLib.inf b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBaseLib/IpmiBaseLib.inf
index 86df943560..72ca3495fb 100644
--- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBaseLib/IpmiBaseLib.inf
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBaseLib/IpmiBaseLib.inf
@@ -18,7 +18,7 @@
 
 [Packages]
   MdePkg/MdePkg.dec
-  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
+  IpmiFeaturePkg/IpmiFeaturePkg.dec
 
 [LibraryClasses]
   UefiBootServicesTableLib
diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBaseLibNull/IpmiBaseLibNull.inf b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBaseLibNull/IpmiBaseLibNull.inf
index 5478f9842b..52f8863032 100644
--- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBaseLibNull/IpmiBaseLibNull.inf
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBaseLibNull/IpmiBaseLibNull.inf
@@ -24,7 +24,7 @@
 
 [Packages]
   MdePkg/MdePkg.dec
-  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
+  IpmiFeaturePkg/IpmiFeaturePkg.dec
 
 [LibraryClasses]
   BaseLib
diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiCommandLib/IpmiCommandLib.inf b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiCommandLib/IpmiCommandLib.inf
index f8e7ba5a8f..d5c14ff2a4 100644
--- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiCommandLib/IpmiCommandLib.inf
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiCommandLib/IpmiCommandLib.inf
@@ -24,7 +24,7 @@
 [Packages]
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
-  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
+  IpmiFeaturePkg/IpmiFeaturePkg.dec
 
 [LibraryClasses]
   BaseMemoryLib
diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiPlatformHookLibNull/IpmiPlatformHookLibNull.inf b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiPlatformHookLibNull/IpmiPlatformHookLibNull.inf
index ab270079aa..8e472ebdad 100644
--- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiPlatformHookLibNull/IpmiPlatformHookLibNull.inf
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiPlatformHookLibNull/IpmiPlatformHookLibNull.inf
@@ -20,7 +20,7 @@
 
 [Packages]
   MdePkg/MdePkg.dec
-  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
+  IpmiFeaturePkg/IpmiFeaturePkg.dec
 
 [LibraryClasses]
   DebugLib
diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/PeiIpmiBaseLib/PeiIpmiBaseLib.inf b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/PeiIpmiBaseLib/PeiIpmiBaseLib.inf
index 9a2c87873f..234492db65 100644
--- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/PeiIpmiBaseLib/PeiIpmiBaseLib.inf
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/PeiIpmiBaseLib/PeiIpmiBaseLib.inf
@@ -18,7 +18,7 @@
 
 [Packages]
   MdePkg/MdePkg.dec
-  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
+  IpmiFeaturePkg/IpmiFeaturePkg.dec
 
 [LibraryClasses]
   DebugLib
diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/SmmIpmiBaseLib/SmmIpmiBaseLib.inf b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/SmmIpmiBaseLib/SmmIpmiBaseLib.inf
index bb1ccf1ca2..7ea688fc16 100644
--- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/SmmIpmiBaseLib/SmmIpmiBaseLib.inf
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/SmmIpmiBaseLib/SmmIpmiBaseLib.inf
@@ -18,7 +18,7 @@
 
 [Packages]
   MdePkg/MdePkg.dec
-  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
+  IpmiFeaturePkg/IpmiFeaturePkg.dec
 
 [LibraryClasses]
   UefiBootServicesTableLib
diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/OsWdt/OsWdt.inf b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/OsWdt/OsWdt.inf
index 7e7d2826cb..3fd1078271 100644
--- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/OsWdt/OsWdt.inf
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/OsWdt/OsWdt.inf
@@ -20,7 +20,7 @@
 
 [Packages]
   MdePkg/MdePkg.dec
-  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
+  IpmiFeaturePkg/IpmiFeaturePkg.dec
 
 [LibraryClasses]
   UefiDriverEntryPoint
diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/SolStatus/SolStatus.inf b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/SolStatus/SolStatus.inf
index 826144e537..9019b849ac 100644
--- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/SolStatus/SolStatus.inf
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/SolStatus/SolStatus.inf
@@ -21,7 +21,7 @@
 
 [Packages]
   MdePkg/MdePkg.dec
-  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
+  IpmiFeaturePkg/IpmiFeaturePkg.dec
 
 [Pcd]
   gIpmiFeaturePkgTokenSpaceGuid.PcdMaxSOLChannels
-- 
2.27.0.windows.1


^ permalink raw reply related	[flat|nested] 86+ messages in thread

* [edk2-devel][edk2-platforms][PATCH V1 05/27] IpmiFeaturePkg: Fix build errors
  2022-01-12  2:20 [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency Oram, Isaac W
                   ` (3 preceding siblings ...)
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 04/27] IpmiFeaturePkg: " Oram, Isaac W
@ 2022-01-12  2:20 ` Oram, Isaac W
  2022-01-13  2:48   ` Nate DeSimone
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 06/27] S3FeaturePkg: Fix all relative package paths Oram, Isaac W
                   ` (22 subsequent siblings)
  27 siblings, 1 reply; 86+ messages in thread
From: Oram, Isaac W @ 2022-01-12  2:20 UTC (permalink / raw)
  To: devel; +Cc: Isaac Oram, Nate DeSimone, Liming Gao

Fix build issues with standalone build.
Switch to using MinPlatformPkg common core include for common modules.

Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc | 54 --------------------
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMemory.fdf  | 16 +++---
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dsc      | 18 +++++++
 3 files changed, 26 insertions(+), 62 deletions(-)

diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc
index c1ce340da2..237a4fc006 100644
--- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc
@@ -34,54 +34,15 @@
 !include MdePkg/MdeLibs.dsc.inc
 
 [LibraryClasses]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
   IpmiLib|MdeModulePkg/Library/BaseIpmiLibNull/BaseIpmiLibNull.inf
-  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
-  TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
 
-  #####################################
-  # IPMI Feature Package
-  #####################################
   IpmiCommandLib|IpmiFeaturePkg/Library/IpmiCommandLib/IpmiCommandLib.inf
   IpmiPlatformHookLib|IpmiFeaturePkg/Library/IpmiPlatformHookLibNull/IpmiPlatformHookLibNull.inf
 
 [LibraryClasses.common.PEI_CORE,LibraryClasses.common.PEIM]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
-  MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
-  PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
-  PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
-  PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
-  PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
-  ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
-
-  #####################################
-  # IPMI Feature Package
-  #####################################
   IpmiBaseLib|IpmiFeaturePkg/Library/PeiIpmiBaseLib/PeiIpmiBaseLib.inf
 
 [LibraryClasses.common.DXE_DRIVER,LibraryClasses.common.UEFI_DRIVER]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
-  UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
-  UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
-  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
-  UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
-
-  #####################################
-  # IPMI Feature Package
-  #####################################
   IpmiBaseLib|IpmiFeaturePkg/Library/IpmiBaseLib/IpmiBaseLib.inf
 
 ################################################################################
@@ -149,18 +110,3 @@
   IpmiFeaturePkg/IpmiInit/DxeIpmiInit.inf
   IpmiFeaturePkg/OsWdt/OsWdt.inf
   IpmiFeaturePkg/SolStatus/SolStatus.inf
-
-###################################################################################################
-#
-# BuildOptions Section - Define the module specific tool chain flags that should be used as
-#                        the default flags for a module. These flags are appended to any
-#                        standard flags that are defined by the build process. They can be
-#                        applied for any modules or only those modules with the specific
-#                        module style (EDK or EDKII) specified in [Components] section.
-#
-#                        For advanced features, it is recommended to enable [BuildOptions] in
-#                        the applicable INF file so it does not affect the whole board package
-#                        build when this DSC file is active.
-#
-###################################################################################################
-[BuildOptions]
diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMemory.fdf b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMemory.fdf
index 158b5455d8..e0f3bbe158 100644
--- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMemory.fdf
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMemory.fdf
@@ -7,11 +7,11 @@
 #
 ##
 
-  INF IpmiFeaturePkg/GenericIpmi/Dxe/GenericIpmi.inf
-  INF IpmiFeaturePkg/IpmiInit/DxeIpmiInit.inf
-  INF RuleOverride = DRIVER_ACPITABLE IpmiFeaturePkg/BmcAcpi/BmcAcpi.inf
-  INF IpmiFeaturePkg/BmcElog/BmcElog.inf
-  INF IpmiFeaturePkg/Frb/FrbDxe.inf
-  INF IpmiFeaturePkg/IpmiFru/IpmiFru.inf
-  INF IpmiFeaturePkg/OsWdt/OsWdt.inf
-  INF IpmiFeaturePkg/SolStatus/SolStatus.inf
+INF IpmiFeaturePkg/GenericIpmi/Dxe/GenericIpmi.inf
+INF IpmiFeaturePkg/IpmiInit/DxeIpmiInit.inf
+INF RuleOverride = DRIVER_ACPITABLE IpmiFeaturePkg/BmcAcpi/BmcAcpi.inf
+INF IpmiFeaturePkg/BmcElog/BmcElog.inf
+INF IpmiFeaturePkg/Frb/FrbDxe.inf
+INF IpmiFeaturePkg/IpmiFru/IpmiFru.inf
+INF IpmiFeaturePkg/OsWdt/OsWdt.inf
+INF IpmiFeaturePkg/SolStatus/SolStatus.inf
diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dsc b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dsc
index 6a3eed0882..c35e1e174e 100644
--- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dsc
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dsc
@@ -25,6 +25,24 @@
   PEI_ARCH                       = IA32
   DXE_ARCH                       = X64
 
+[Packages]
+  MinPlatformPkg/MinPlatformPkg.dec
+
+[PcdsFeatureFlag]
+  #
+  # PCD needed for MinPlatform build includes
+  #
+  gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable                |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable                   |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable                      |FALSE
+
+#
+# Include common libraries
+#
+!include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
+!include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
+!include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
+
 #
 # This package always builds the feature.
 #
-- 
2.27.0.windows.1


^ permalink raw reply related	[flat|nested] 86+ messages in thread

* [edk2-devel][edk2-platforms][PATCH V1 06/27] S3FeaturePkg: Fix all relative package paths
  2022-01-12  2:20 [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency Oram, Isaac W
                   ` (4 preceding siblings ...)
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 05/27] IpmiFeaturePkg: Fix build errors Oram, Isaac W
@ 2022-01-12  2:20 ` Oram, Isaac W
  2022-01-13  2:48   ` Nate DeSimone
  2022-01-14  5:19   ` Chaganty, Rangasai V
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 07/27] S3FeaturePkg: Use MinPlatformPkg build include files Oram, Isaac W
                   ` (21 subsequent siblings)
  27 siblings, 2 replies; 86+ messages in thread
From: Oram, Isaac W @ 2022-01-12  2:20 UTC (permalink / raw)
  To: devel; +Cc: Isaac Oram, Sai Chaganty, Liming Gao

Packages should be at the root of a PACKAGES_PATH entry.
At some point, paths were relative to edk2-platforms/Features/Intel
which was functional, but interferes with the proper functioning
of packaging tools.

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf | 2 +-
 Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc | 2 +-
 Features/Intel/PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf       | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf b/Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf
index 3cd5cd9628..34caf3dacc 100644
--- a/Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf
+++ b/Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf
@@ -7,4 +7,4 @@
 #
 ##
 
-  INF PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf
+  INF S3FeaturePkg/S3Pei/S3Pei.inf
diff --git a/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc b/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc
index 312870981e..f94bd2b431 100644
--- a/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc
+++ b/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc
@@ -91,7 +91,7 @@
   # in the package build.
 
   # Add components here that should be included in the package build.
-  PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf
+  S3FeaturePkg/S3Pei/S3Pei.inf
 
 #
 # Feature DXE Components
diff --git a/Features/Intel/PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf b/Features/Intel/PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf
index 46fbb62a46..e485eac952 100644
--- a/Features/Intel/PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf
+++ b/Features/Intel/PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf
@@ -23,7 +23,7 @@
 [Packages]
   MdePkg/MdePkg.dec
   IntelSiliconPkg/IntelSiliconPkg.dec
-  PowerManagement/S3FeaturePkg/S3FeaturePkg.dec
+  S3FeaturePkg/S3FeaturePkg.dec
 
 [Sources]
   S3Pei.c
-- 
2.27.0.windows.1


^ permalink raw reply related	[flat|nested] 86+ messages in thread

* [edk2-devel][edk2-platforms][PATCH V1 07/27] S3FeaturePkg: Use MinPlatformPkg build include files
  2022-01-12  2:20 [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency Oram, Isaac W
                   ` (5 preceding siblings ...)
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 06/27] S3FeaturePkg: Fix all relative package paths Oram, Isaac W
@ 2022-01-12  2:20 ` Oram, Isaac W
  2022-01-13  2:49   ` Nate DeSimone
  2022-01-14  5:29   ` Chaganty, Rangasai V
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 08/27] SmbiosFeaturePkg: Fix all relative package paths Oram, Isaac W
                   ` (20 subsequent siblings)
  27 siblings, 2 replies; 86+ messages in thread
From: Oram, Isaac W @ 2022-01-12  2:20 UTC (permalink / raw)
  To: devel; +Cc: Isaac Oram, Sai Chaganty, Liming Gao

Use the MinPlatformPkg common core build files to build libraries
needed by this feature.

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf |  2 +-
 Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc | 72 ++------------------
 Features/Intel/PowerManagement/S3FeaturePkg/S3FeaturePkg.dsc      | 18 +++++
 3 files changed, 26 insertions(+), 66 deletions(-)

diff --git a/Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf b/Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf
index 34caf3dacc..fdd16a4e03 100644
--- a/Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf
+++ b/Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf
@@ -7,4 +7,4 @@
 #
 ##
 
-  INF S3FeaturePkg/S3Pei/S3Pei.inf
+INF S3FeaturePkg/S3Pei/S3Pei.inf
diff --git a/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc b/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc
index f94bd2b431..cc34e78507 100644
--- a/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc
+++ b/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc
@@ -18,12 +18,12 @@
 #
 ################################################################################
 [Defines]
-!ifndef $(PEI_ARCH)
-  !error "PEI_ARCH must be specified to build this feature!"
-!endif
-!ifndef $(DXE_ARCH)
-  !error "DXE_ARCH must be specified to build this feature!"
-!endif
+  !ifndef $(PEI_ARCH)
+    !error "PEI_ARCH must be specified to build this feature!"
+  !endif
+  !ifndef $(DXE_ARCH)
+    !error "DXE_ARCH must be specified to build this feature!"
+  !endif
 
 ################################################################################
 #
@@ -31,34 +31,7 @@
 #
 ################################################################################
 
-!include MdePkg/MdeLibs.dsc.inc
-
-[LibraryClasses]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
-  PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf
-  PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
-  PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf
-
-[LibraryClasses.common.PEI_CORE,LibraryClasses.common.PEIM]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
-  MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
-  PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
-  PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
-  PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
-  PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
-
-  #######################################
-  # Silicon Initialization Package
-  #######################################
+[LibraryClasses.common.PEIM]
   SmmAccessLib|IntelSiliconPkg/Feature/SmmAccess/Library/PeiSmmAccessLib/PeiSmmAccessLib.inf
 
 ################################################################################
@@ -92,34 +65,3 @@
 
   # Add components here that should be included in the package build.
   S3FeaturePkg/S3Pei/S3Pei.inf
-
-#
-# Feature DXE Components
-#
-
-# @todo: Change below line to [Components.$(DXE_ARCH)] after https://bugzilla.tianocore.org/show_bug.cgi?id=2308
-#        is completed.
-[Components.X64]
-  #####################################
-  # S3 Feature Package
-  #####################################
-
-  # Add library instances here that are not included in package components and should be tested
-  # in the package build.
-
-  # Add components here that should be included in the package build.
-
-###################################################################################################
-#
-# BuildOptions Section - Define the module specific tool chain flags that should be used as
-#                        the default flags for a module. These flags are appended to any
-#                        standard flags that are defined by the build process. They can be
-#                        applied for any modules or only those modules with the specific
-#                        module style (EDK or EDKII) specified in [Components] section.
-#
-#                        For advanced features, it is recommended to enable [BuildOptions] in
-#                        the applicable INF file so it does not affect the whole board package
-#                        build when this DSC file is active.
-#
-###################################################################################################
-[BuildOptions]
diff --git a/Features/Intel/PowerManagement/S3FeaturePkg/S3FeaturePkg.dsc b/Features/Intel/PowerManagement/S3FeaturePkg/S3FeaturePkg.dsc
index 28ee49d429..e16a1f8d00 100644
--- a/Features/Intel/PowerManagement/S3FeaturePkg/S3FeaturePkg.dsc
+++ b/Features/Intel/PowerManagement/S3FeaturePkg/S3FeaturePkg.dsc
@@ -24,6 +24,24 @@
   PEI_ARCH                       = IA32
   DXE_ARCH                       = X64
 
+[Packages]
+  MinPlatformPkg/MinPlatformPkg.dec
+
+[PcdsFeatureFlag]
+  #
+  # PCD needed for MinPlatform build includes
+  #
+  gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable                |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable                   |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable                      |FALSE
+
+#
+# Include common libraries
+#
+!include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
+!include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
+!include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
+
 #
 # This package always builds the feature.
 #
-- 
2.27.0.windows.1


^ permalink raw reply related	[flat|nested] 86+ messages in thread

* [edk2-devel][edk2-platforms][PATCH V1 08/27] SmbiosFeaturePkg: Fix all relative package paths
  2022-01-12  2:20 [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency Oram, Isaac W
                   ` (6 preceding siblings ...)
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 07/27] S3FeaturePkg: Use MinPlatformPkg build include files Oram, Isaac W
@ 2022-01-12  2:20 ` Oram, Isaac W
  2022-01-13  2:49   ` Nate DeSimone
  2022-01-14  5:31   ` Chaganty, Rangasai V
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 09/27] SmbiosFeaturePkg: Use MinPlatformPkg build include files Oram, Isaac W
                   ` (19 subsequent siblings)
  27 siblings, 2 replies; 86+ messages in thread
From: Oram, Isaac W @ 2022-01-12  2:20 UTC (permalink / raw)
  To: devel; +Cc: Isaac Oram, Sai Chaganty, Liming Gao

Packages should be at the root of a PACKAGES_PATH entry.
At some point, paths were relative to edk2-platforms/Features/Intel
which was functional, but interferes with the proper functioning
of packaging tools.

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf            |  2 +-
 Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.dsc         |  2 +-
 Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf |  2 +-
 Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec              | 10 +++++-----
 4 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf b/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf
index 3ed23bd937..c3a3e81503 100644
--- a/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf
+++ b/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf
@@ -7,4 +7,4 @@
 #
 ##
 
-  INF SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf
+  INF SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf
diff --git a/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.dsc b/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.dsc
index 31d44b68b3..094dd957b8 100644
--- a/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.dsc
+++ b/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.dsc
@@ -100,7 +100,7 @@
   # in the package build.
 
   # Add components here that should be included in the package build.
-  SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf
+  SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf
 
 ###################################################################################################
 #
diff --git a/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf b/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf
index bd8736b621..8e530c4945 100644
--- a/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf
+++ b/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf
@@ -33,7 +33,7 @@
 [Packages]
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
-  SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
+  SmbiosFeaturePkg/SmbiosFeaturePkg.dec
 
 [LibraryClasses]
   BaseLib
diff --git a/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec b/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
index 6170f37969..db3cdbb0d0 100644
--- a/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
+++ b/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
@@ -38,7 +38,7 @@
       IndustryStandard/SmBios.h
     <Packages>
       MdePkg/MdePkg.dec
-      SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
+      SmbiosFeaturePkg/SmbiosFeaturePkg.dec
   }
   gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType0BiosInformation.Vendor|0x1
   gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType0BiosInformation.BiosVersion|0x2
@@ -71,7 +71,7 @@
       IndustryStandard/SmBios.h
     <Packages>
       MdePkg/MdePkg.dec
-      SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
+      SmbiosFeaturePkg/SmbiosFeaturePkg.dec
   }
   gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType1SystemInformation.Manufacturer|0x1
   gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType1SystemInformation.ProductName|0x2
@@ -87,7 +87,7 @@
       IndustryStandard/SmBios.h
     <Packages>
       MdePkg/MdePkg.dec
-      SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
+      SmbiosFeaturePkg/SmbiosFeaturePkg.dec
   }
 
   #
@@ -111,7 +111,7 @@
       IndustryStandard/SmBios.h
     <Packages>
       MdePkg/MdePkg.dec
-      SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
+      SmbiosFeaturePkg/SmbiosFeaturePkg.dec
   }
   gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType3SystemEnclosureChassis.Manufacturer|0x1
   gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType3SystemEnclosureChassis.Type|MiscChassisTypeRackMountChassis
@@ -131,7 +131,7 @@
       IndustryStandard/SmBios.h
     <Packages>
       MdePkg/MdePkg.dec
-      SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
+      SmbiosFeaturePkg/SmbiosFeaturePkg.dec
   }
   gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType32SystemBootInformation.BootStatus|BootInformationStatusNoError
 
-- 
2.27.0.windows.1


^ permalink raw reply related	[flat|nested] 86+ messages in thread

* [edk2-devel][edk2-platforms][PATCH V1 09/27] SmbiosFeaturePkg: Use MinPlatformPkg build include files
  2022-01-12  2:20 [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency Oram, Isaac W
                   ` (7 preceding siblings ...)
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 08/27] SmbiosFeaturePkg: Fix all relative package paths Oram, Isaac W
@ 2022-01-12  2:20 ` Oram, Isaac W
  2022-01-13  2:49   ` Nate DeSimone
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 10/27] UserAuthFeaturePkg: Fix all relative package paths Oram, Isaac W
                   ` (18 subsequent siblings)
  27 siblings, 1 reply; 86+ messages in thread
From: Oram, Isaac W @ 2022-01-12  2:20 UTC (permalink / raw)
  To: devel; +Cc: Isaac Oram, Sai Chaganty, Liming Gao

Use the MinPlatformPkg common core build files to build libraries
needed by this feature.

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf    |  2 +-
 Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.dsc | 52 --------------------
 Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dsc      | 18 +++++++
 3 files changed, 19 insertions(+), 53 deletions(-)

diff --git a/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf b/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf
index c3a3e81503..d46bacfbd2 100644
--- a/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf
+++ b/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf
@@ -7,4 +7,4 @@
 #
 ##
 
-  INF SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf
+INF SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf
diff --git a/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.dsc b/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.dsc
index 094dd957b8..7a165f39d7 100644
--- a/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.dsc
+++ b/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.dsc
@@ -33,28 +33,6 @@
 
 !include MdePkg/MdeLibs.dsc.inc
 
-[LibraryClasses]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
-  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
-  UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
-  UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
-  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
-  UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
-
-[LibraryClasses.common.DXE_DRIVER]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
-
 ################################################################################
 #
 # Component section - list of all components that need built for this feature.
@@ -69,21 +47,6 @@
 #       generated for it, but the binary will not be put into any firmware volume.
 #
 ################################################################################
-#
-# Feature PEI Components
-#
-
-# @todo: Change below line to [Components.$(PEI_ARCH)] after https://bugzilla.tianocore.org/show_bug.cgi?id=2308
-#        is completed.
-[Components.IA32]
-  #####################################
-  # SMBIOS Feature Package
-  #####################################
-
-  # Add library instances here that are not included in package components and should be tested
-  # in the package build.
-
-  # Add components here that should be included in the package build.
 
 #
 # Feature DXE Components
@@ -101,18 +64,3 @@
 
   # Add components here that should be included in the package build.
   SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf
-
-###################################################################################################
-#
-# BuildOptions Section - Define the module specific tool chain flags that should be used as
-#                        the default flags for a module. These flags are appended to any
-#                        standard flags that are defined by the build process. They can be
-#                        applied for any modules or only those modules with the specific
-#                        module style (EDK or EDKII) specified in [Components] section.
-#
-#                        For advanced features, it is recommended to enable [BuildOptions] in
-#                        the applicable INF file so it does not affect the whole board package
-#                        build when this DSC file is active.
-#
-###################################################################################################
-[BuildOptions]
diff --git a/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dsc b/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dsc
index 31141c0725..e72b341154 100644
--- a/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dsc
+++ b/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dsc
@@ -24,6 +24,24 @@
   PEI_ARCH                       = IA32
   DXE_ARCH                       = X64
 
+[Packages]
+  MinPlatformPkg/MinPlatformPkg.dec
+
+[PcdsFeatureFlag]
+  #
+  # PCD needed for MinPlatform build includes
+  #
+  gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable                |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable                   |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable                      |FALSE
+
+#
+# Include common libraries
+#
+!include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
+!include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
+!include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
+
 #
 # This package always builds the feature.
 #
-- 
2.27.0.windows.1


^ permalink raw reply related	[flat|nested] 86+ messages in thread

* [edk2-devel][edk2-platforms][PATCH V1 10/27] UserAuthFeaturePkg: Fix all relative package paths
  2022-01-12  2:20 [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency Oram, Isaac W
                   ` (8 preceding siblings ...)
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 09/27] SmbiosFeaturePkg: Use MinPlatformPkg build include files Oram, Isaac W
@ 2022-01-12  2:20 ` Oram, Isaac W
  2022-01-13  2:49   ` Nate DeSimone
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 11/27] UserAuthFeaturePkg: Use MinPlatformPkg build include files Oram, Isaac W
                   ` (17 subsequent siblings)
  27 siblings, 1 reply; 86+ messages in thread
From: Oram, Isaac W @ 2022-01-12  2:20 UTC (permalink / raw)
  To: devel; +Cc: Isaac Oram, Liming Gao, Dandan Bi

Packages should be at the root of a PACKAGES_PATH entry.
At some point, paths were relative to edk2-platforms/Features/Intel
which was functional, but interferes with the proper functioning
of packaging tools.

Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Dandan Bi <dandan.bi@intel.com>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf                                      |  6 +++---
 Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc                                 | 12 ++++++------
 Features/Intel/UserInterface/UserAuthFeaturePkg/Library/PlatformPasswordLibNull/PlatformPasswordLibNull.inf |  2 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/Library/UserPasswordLib/UserPasswordLib.inf                 |  2 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/Library/UserPasswordUiLib/UserPasswordUiLib.inf             |  2 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dxe.inf         |  2 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.inf          |  2 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSmm.inf          |  2 +-
 8 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf b/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf
index f0b33aa44c..c534bebcc0 100644
--- a/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf
+++ b/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf
@@ -7,6 +7,6 @@
 #
 ##
 
-  INF UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.inf
-  INF UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dxe.inf
-  INF UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSmm.inf
+  INF UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.inf
+  INF UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dxe.inf
+  INF UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSmm.inf
diff --git a/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc b/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc
index d4f7a5ed23..7eeaf441c1 100644
--- a/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc
+++ b/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc
@@ -58,8 +58,8 @@
   #####################################
   # User Authentication Feature Package
   #####################################
-  PlatformPasswordLib|UserInterface/UserAuthFeaturePkg/Library/PlatformPasswordLibNull/PlatformPasswordLibNull.inf
-  UserPasswordLib|UserInterface/UserAuthFeaturePkg/Library/UserPasswordLib/UserPasswordLib.inf
+  PlatformPasswordLib|UserAuthFeaturePkg/Library/PlatformPasswordLibNull/PlatformPasswordLibNull.inf
+  UserPasswordLib|UserAuthFeaturePkg/Library/UserPasswordLib/UserPasswordLib.inf
 
 [LibraryClasses.common.DXE_DRIVER]
   #######################################
@@ -122,12 +122,12 @@
 
   # Add library instances here that are not included in package components and should be tested
   # in the package build.
-  UserInterface/UserAuthFeaturePkg/Library/UserPasswordUiLib/UserPasswordUiLib.inf
+  UserAuthFeaturePkg/Library/UserPasswordUiLib/UserPasswordUiLib.inf
 
   # Add components here that should be included in the package build.
-  UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.inf
-  UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dxe.inf
-  UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSmm.inf
+  UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.inf
+  UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dxe.inf
+  UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSmm.inf
 
 ###################################################################################################
 #
diff --git a/Features/Intel/UserInterface/UserAuthFeaturePkg/Library/PlatformPasswordLibNull/PlatformPasswordLibNull.inf b/Features/Intel/UserInterface/UserAuthFeaturePkg/Library/PlatformPasswordLibNull/PlatformPasswordLibNull.inf
index 00be14df8a..278fe026a6 100644
--- a/Features/Intel/UserInterface/UserAuthFeaturePkg/Library/PlatformPasswordLibNull/PlatformPasswordLibNull.inf
+++ b/Features/Intel/UserInterface/UserAuthFeaturePkg/Library/PlatformPasswordLibNull/PlatformPasswordLibNull.inf
@@ -32,7 +32,7 @@
 
 [Packages]
   MdePkg/MdePkg.dec
-  UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dec
+  UserAuthFeaturePkg/UserAuthFeaturePkg.dec
 
 [Pcd]
   gUserAuthFeaturePkgTokenSpaceGuid.PcdPasswordCleared    ## CONSUMES
diff --git a/Features/Intel/UserInterface/UserAuthFeaturePkg/Library/UserPasswordLib/UserPasswordLib.inf b/Features/Intel/UserInterface/UserAuthFeaturePkg/Library/UserPasswordLib/UserPasswordLib.inf
index 99d84ae637..a3124aa443 100644
--- a/Features/Intel/UserInterface/UserAuthFeaturePkg/Library/UserPasswordLib/UserPasswordLib.inf
+++ b/Features/Intel/UserInterface/UserAuthFeaturePkg/Library/UserPasswordLib/UserPasswordLib.inf
@@ -21,7 +21,7 @@
 [Packages]
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
-  UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dec
+  UserAuthFeaturePkg/UserAuthFeaturePkg.dec
 
 [LibraryClasses]
   UefiBootServicesTableLib
diff --git a/Features/Intel/UserInterface/UserAuthFeaturePkg/Library/UserPasswordUiLib/UserPasswordUiLib.inf b/Features/Intel/UserInterface/UserAuthFeaturePkg/Library/UserPasswordUiLib/UserPasswordUiLib.inf
index 9ab7d83319..8f6a693d76 100644
--- a/Features/Intel/UserInterface/UserAuthFeaturePkg/Library/UserPasswordUiLib/UserPasswordUiLib.inf
+++ b/Features/Intel/UserInterface/UserAuthFeaturePkg/Library/UserPasswordUiLib/UserPasswordUiLib.inf
@@ -20,7 +20,7 @@
 [Packages]
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
-  UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dec
+  UserAuthFeaturePkg/UserAuthFeaturePkg.dec
 
 [LibraryClasses]
   UefiBootServicesTableLib
diff --git a/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dxe.inf b/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dxe.inf
index 2c6c3661fb..c47e20f052 100644
--- a/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dxe.inf
+++ b/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dxe.inf
@@ -26,7 +26,7 @@
 [Packages]
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
-  UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dec
+  UserAuthFeaturePkg/UserAuthFeaturePkg.dec
 
 [LibraryClasses]
   BaseLib
diff --git a/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.inf b/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.inf
index 58066b588c..bee46a1af2 100644
--- a/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.inf
+++ b/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.inf
@@ -28,7 +28,7 @@
 [Packages]
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
-  UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dec
+  UserAuthFeaturePkg/UserAuthFeaturePkg.dec
 
 [LibraryClasses]
   BaseLib
diff --git a/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSmm.inf b/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSmm.inf
index 891e2b981d..b53f70f0e3 100644
--- a/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSmm.inf
+++ b/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSmm.inf
@@ -27,7 +27,7 @@
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
   CryptoPkg/CryptoPkg.dec
-  UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dec
+  UserAuthFeaturePkg/UserAuthFeaturePkg.dec
 
 [LibraryClasses]
   UefiBootServicesTableLib
-- 
2.27.0.windows.1


^ permalink raw reply related	[flat|nested] 86+ messages in thread

* [edk2-devel][edk2-platforms][PATCH V1 11/27] UserAuthFeaturePkg: Use MinPlatformPkg build include files
  2022-01-12  2:20 [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency Oram, Isaac W
                   ` (9 preceding siblings ...)
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 10/27] UserAuthFeaturePkg: Fix all relative package paths Oram, Isaac W
@ 2022-01-12  2:20 ` Oram, Isaac W
  2022-01-13  2:49   ` Nate DeSimone
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 12/27] VirtualKeyboardFeaturePkg: Fix all relative package paths Oram, Isaac W
                   ` (16 subsequent siblings)
  27 siblings, 1 reply; 86+ messages in thread
From: Oram, Isaac W @ 2022-01-12  2:20 UTC (permalink / raw)
  To: devel; +Cc: Isaac Oram, Dandan Bi, Liming Gao

Use the MinPlatformPkg common core build files to build libraries
needed by this feature.

Cc: Dandan Bi <dandan.bi@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf      |  6 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc | 80 ++------------------
 Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dsc      | 18 +++++
 3 files changed, 27 insertions(+), 77 deletions(-)

diff --git a/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf b/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf
index c534bebcc0..030dcbe763 100644
--- a/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf
+++ b/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf
@@ -7,6 +7,6 @@
 #
 ##
 
-  INF UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.inf
-  INF UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dxe.inf
-  INF UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSmm.inf
+INF UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.inf
+INF UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dxe.inf
+INF UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSmm.inf
diff --git a/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc b/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc
index 7eeaf441c1..2f39a5580c 100644
--- a/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc
+++ b/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc
@@ -18,12 +18,12 @@
 #
 ################################################################################
 [Defines]
-!ifndef $(PEI_ARCH)
-  !error "PEI_ARCH must be specified to build this feature!"
-!endif
-!ifndef $(DXE_ARCH)
-  !error "DXE_ARCH must be specified to build this feature!"
-!endif
+  !ifndef $(PEI_ARCH)
+    !error "PEI_ARCH must be specified to build this feature!"
+  !endif
+  !ifndef $(DXE_ARCH)
+    !error "DXE_ARCH must be specified to build this feature!"
+  !endif
 
 ################################################################################
 #
@@ -34,47 +34,9 @@
 !include MdePkg/MdeLibs.dsc.inc
 
 [LibraryClasses]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
-  HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
-  IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
-  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
-  OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
-  TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
-  UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
-  UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
-  UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
-  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
-  UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
-  RngLib|MdePkg/Library/BaseRngLib/BaseRngLib.inf
-
-  #####################################
-  # User Authentication Feature Package
-  #####################################
   PlatformPasswordLib|UserAuthFeaturePkg/Library/PlatformPasswordLibNull/PlatformPasswordLibNull.inf
   UserPasswordLib|UserAuthFeaturePkg/Library/UserPasswordLib/UserPasswordLib.inf
 
-[LibraryClasses.common.DXE_DRIVER]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-
-[LibraryClasses.common.DXE_SMM_DRIVER]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  BaseCryptLib|CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
-  MemoryAllocationLib|MdePkg/Library/SmmMemoryAllocationLib/SmmMemoryAllocationLib.inf
-  SmmServicesTableLib|MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.inf
-
 ###################################################################################################
 #
 # Components Section - list of the modules and components that will be processed by compilation
@@ -93,21 +55,6 @@
 #       generated for it, but the binary will not be put into any firmware volume.
 #
 ###################################################################################################
-#
-# Feature PEI Components
-#
-
-# @todo: Change below line to [Components.$(PEI_ARCH)] after https://bugzilla.tianocore.org/show_bug.cgi?id=2308
-#        is completed.
-[Components.IA32]
-  #####################################
-  # User Authentication Feature Package
-  #####################################
-
-  # Add library instances here that are not included in package components and should be tested
-  # in the package build.
-
-  # Add components here that should be included in the package build.
 
 #
 # Feature DXE Components
@@ -128,18 +75,3 @@
   UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.inf
   UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dxe.inf
   UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSmm.inf
-
-###################################################################################################
-#
-# BuildOptions Section - Define the module specific tool chain flags that should be used as
-#                        the default flags for a module. These flags are appended to any
-#                        standard flags that are defined by the build process. They can be
-#                        applied for any modules or only those modules with the specific
-#                        module style (EDK or EDKII) specified in [Components] section.
-#
-#                        For advanced features, it is recommended to enable [BuildOptions] in
-#                        the applicable INF file so it does not affect the whole board package
-#                        build when this DSC file is active.
-#
-###################################################################################################
-[BuildOptions]
diff --git a/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dsc b/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dsc
index 74eb9213ce..10360c5737 100644
--- a/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dsc
+++ b/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dsc
@@ -24,6 +24,24 @@
   PEI_ARCH                       = IA32
   DXE_ARCH                       = X64
 
+[Packages]
+  MinPlatformPkg/MinPlatformPkg.dec
+
+[PcdsFeatureFlag]
+  #
+  # PCD needed for MinPlatform build includes
+  #
+  gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable                |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable                   |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable                      |FALSE
+
+#
+# Include common libraries
+#
+!include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
+!include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
+!include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
+
 #
 # This package always builds the feature.
 #
-- 
2.27.0.windows.1


^ permalink raw reply related	[flat|nested] 86+ messages in thread

* [edk2-devel][edk2-platforms][PATCH V1 12/27] VirtualKeyboardFeaturePkg: Fix all relative package paths
  2022-01-12  2:20 [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency Oram, Isaac W
                   ` (10 preceding siblings ...)
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 11/27] UserAuthFeaturePkg: Use MinPlatformPkg build include files Oram, Isaac W
@ 2022-01-12  2:20 ` Oram, Isaac W
  2022-01-13  2:49   ` Nate DeSimone
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 13/27] VirtualKeyboardFeaturePkg: Use MinPlatformPkg build include files Oram, Isaac W
                   ` (15 subsequent siblings)
  27 siblings, 1 reply; 86+ messages in thread
From: Oram, Isaac W @ 2022-01-12  2:20 UTC (permalink / raw)
  To: devel; +Cc: Isaac Oram, Liming Gao, Dandan Bi

Packages should be at the root of a PACKAGES_PATH entry.
At some point, paths were relative to edk2-platforms/Features/Intel
which was functional, but interferes with the proper functioning
of packaging tools.

Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Dandan Bi <dandan.bi@intel.com>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/PostMemory.fdf             | 2 +-
 Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/VirtualKeyboardFeature.dsc | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/PostMemory.fdf b/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/PostMemory.fdf
index bf4a4d5078..f40b5087e8 100644
--- a/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/PostMemory.fdf
+++ b/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/PostMemory.fdf
@@ -7,4 +7,4 @@
 #
 ##
 
-  INF UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardDxe/VirtualKeyboardDxe.inf
+  INF VirtualKeyboardFeaturePkg/VirtualKeyboardDxe/VirtualKeyboardDxe.inf
diff --git a/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/VirtualKeyboardFeature.dsc b/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/VirtualKeyboardFeature.dsc
index a8c3819480..8179f70c80 100644
--- a/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/VirtualKeyboardFeature.dsc
+++ b/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/VirtualKeyboardFeature.dsc
@@ -81,7 +81,7 @@
   #####################################
   # Virtual Keyboard Feature Package
   #####################################
-  UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardDxe/VirtualKeyboardDxe.inf
+  VirtualKeyboardFeaturePkg/VirtualKeyboardDxe/VirtualKeyboardDxe.inf
 
 ###################################################################################################
 #
-- 
2.27.0.windows.1


^ permalink raw reply related	[flat|nested] 86+ messages in thread

* [edk2-devel][edk2-platforms][PATCH V1 13/27] VirtualKeyboardFeaturePkg: Use MinPlatformPkg build include files
  2022-01-12  2:20 [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency Oram, Isaac W
                   ` (11 preceding siblings ...)
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 12/27] VirtualKeyboardFeaturePkg: Fix all relative package paths Oram, Isaac W
@ 2022-01-12  2:20 ` Oram, Isaac W
  2022-01-13  2:49   ` Nate DeSimone
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 14/27] VirtualKeyboardFeaturePkg: Add feature enable PCD Oram, Isaac W
                   ` (14 subsequent siblings)
  27 siblings, 1 reply; 86+ messages in thread
From: Oram, Isaac W @ 2022-01-12  2:20 UTC (permalink / raw)
  To: devel; +Cc: Isaac Oram, Dandan Bi, Liming Gao

Use the MinPlatformPkg common core build files to build libraries
needed by this feature.

Cc: Dandan Bi <dandan.bi@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/VirtualKeyboardFeature.dsc | 62 +++-----------------
 Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardFeaturePkg.dsc      | 18 ++++++
 2 files changed, 25 insertions(+), 55 deletions(-)

diff --git a/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/VirtualKeyboardFeature.dsc b/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/VirtualKeyboardFeature.dsc
index 8179f70c80..0d4f14a412 100644
--- a/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/VirtualKeyboardFeature.dsc
+++ b/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/VirtualKeyboardFeature.dsc
@@ -18,43 +18,12 @@
 #
 ################################################################################
 [Defines]
-!ifndef $(PEI_ARCH)
-  !error "PEI_ARCH must be specified to build this feature!"
-!endif
-!ifndef $(DXE_ARCH)
-  !error "DXE_ARCH must be specified to build this feature!"
-!endif
-
-################################################################################
-#
-# Library Class section - list of all Library Classes needed by this feature.
-#
-################################################################################
-
-!include MdePkg/MdeLibs.dsc.inc
-
-[LibraryClasses]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-  UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
-  UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
-  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-  HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
-  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
-  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
-  UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
-  UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
-
-[LibraryClasses.common.UEFI_DRIVER]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
+  !ifndef $(PEI_ARCH)
+    !error "PEI_ARCH must be specified to build this feature!"
+  !endif
+  !ifndef $(DXE_ARCH)
+    !error "DXE_ARCH must be specified to build this feature!"
+  !endif
 
 ###################################################################################################
 #
@@ -74,26 +43,9 @@
 #       generated for it, but the binary will not be put into any firmware volume.
 #
 ###################################################################################################
+
 #
 # Feature DXE Components
 #
 [Components.X64]
-  #####################################
-  # Virtual Keyboard Feature Package
-  #####################################
   VirtualKeyboardFeaturePkg/VirtualKeyboardDxe/VirtualKeyboardDxe.inf
-
-###################################################################################################
-#
-# BuildOptions Section - Define the module specific tool chain flags that should be used as
-#                        the default flags for a module. These flags are appended to any
-#                        standard flags that are defined by the build process. They can be
-#                        applied for any modules or only those modules with the specific
-#                        module style (EDK or EDKII) specified in [Components] section.
-#
-#                        For advanced features, it is recommended to enable [BuildOptions] in
-#                        the applicable INF file so it does not affect the whole board package
-#                        build when this DSC file is active.
-#
-###################################################################################################
-[BuildOptions]
diff --git a/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardFeaturePkg.dsc b/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardFeaturePkg.dsc
index ea2005c6d2..6717c892f1 100644
--- a/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardFeaturePkg.dsc
+++ b/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardFeaturePkg.dsc
@@ -24,6 +24,24 @@
   PEI_ARCH                       = IA32
   DXE_ARCH                       = X64
 
+[Packages]
+  MinPlatformPkg/MinPlatformPkg.dec
+
+[PcdsFeatureFlag]
+  #
+  # PCD needed for MinPlatform build includes
+  #
+  gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable                |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable                   |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable                      |FALSE
+
+#
+# Include common libraries
+#
+!include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
+!include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
+!include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
+
 #
 # This package always builds the feature.
 #
-- 
2.27.0.windows.1


^ permalink raw reply related	[flat|nested] 86+ messages in thread

* [edk2-devel][edk2-platforms][PATCH V1 14/27] VirtualKeyboardFeaturePkg: Add feature enable PCD
  2022-01-12  2:20 [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency Oram, Isaac W
                   ` (12 preceding siblings ...)
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 13/27] VirtualKeyboardFeaturePkg: Use MinPlatformPkg build include files Oram, Isaac W
@ 2022-01-12  2:20 ` Oram, Isaac W
  2022-01-13  2:49   ` Nate DeSimone
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 15/27] NetworkFeaturePkg: Use MinPlatformPkg build include files Oram, Isaac W
                   ` (13 subsequent siblings)
  27 siblings, 1 reply; 86+ messages in thread
From: Oram, Isaac W @ 2022-01-12  2:20 UTC (permalink / raw)
  To: devel; +Cc: Isaac Oram, Liming Gao, Dandan Bi

VirtualKeyboard missing feature enable PCD.

Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Dandan Bi <dandan.bi@intel.com>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/PostMemory.fdf        | 2 +-
 Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardFeaturePkg.dec | 7 ++++++-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/PostMemory.fdf b/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/PostMemory.fdf
index f40b5087e8..31a9a6c35d 100644
--- a/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/PostMemory.fdf
+++ b/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/PostMemory.fdf
@@ -7,4 +7,4 @@
 #
 ##
 
-  INF VirtualKeyboardFeaturePkg/VirtualKeyboardDxe/VirtualKeyboardDxe.inf
+INF VirtualKeyboardFeaturePkg/VirtualKeyboardDxe/VirtualKeyboardDxe.inf
diff --git a/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardFeaturePkg.dec b/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardFeaturePkg.dec
index c26db01f09..d4b5d67783 100644
--- a/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardFeaturePkg.dec
+++ b/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardFeaturePkg.dec
@@ -22,5 +22,10 @@
   Include
 
 [Guids]
+  gVirtualKeyboardFeaturePkgTokenSpaceGuid        = { 0x7a9af74f, 0x27ca, 0x4834, { 0xa7, 0xd4, 0x62, 0x63, 0xf0, 0xe5, 0x7a, 0xd0 } }
+
   ## GUID used for VirtualKeyboardDriver to open TouchPanel protocol.
-  gEdkiiTouchPanelGuid                             = { 0x91b1d27b, 0xe126, 0x48d1, { 0x82, 0x34, 0xd2, 0x8b, 0x81, 0xc8, 0x83, 0x62 }}
+  gEdkiiTouchPanelGuid                            = { 0x91b1d27b, 0xe126, 0x48d1, { 0x82, 0x34, 0xd2, 0x8b, 0x81, 0xc8, 0x83, 0x62 }}
+
+[PcdsFeatureFlag]
+  gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEnable|FALSE|BOOLEAN|0x00000001
-- 
2.27.0.windows.1


^ permalink raw reply related	[flat|nested] 86+ messages in thread

* [edk2-devel][edk2-platforms][PATCH V1 15/27] NetworkFeaturePkg: Use MinPlatformPkg build include files
  2022-01-12  2:20 [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency Oram, Isaac W
                   ` (13 preceding siblings ...)
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 14/27] VirtualKeyboardFeaturePkg: Add feature enable PCD Oram, Isaac W
@ 2022-01-12  2:20 ` Oram, Isaac W
  2022-01-13  2:49   ` Nate DeSimone
  2022-01-14  5:57   ` Chaganty, Rangasai V
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 16/27] LogoFeaturePkg: " Oram, Isaac W
                   ` (12 subsequent siblings)
  27 siblings, 2 replies; 86+ messages in thread
From: Oram, Isaac W @ 2022-01-12  2:20 UTC (permalink / raw)
  To: devel; +Cc: Isaac Oram, Sai Chaganty, Liming Gao

Standalong build was not working due to missing libraries.
Leverage MinPlatformPkg common includes for core libraries.

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/Network/NetworkFeaturePkg/Include/NetworkFeature.dsc | 89 ++------------------
 Features/Intel/Network/NetworkFeaturePkg/NetworkFeaturePkg.dsc      | 18 ++++
 2 files changed, 24 insertions(+), 83 deletions(-)

diff --git a/Features/Intel/Network/NetworkFeaturePkg/Include/NetworkFeature.dsc b/Features/Intel/Network/NetworkFeaturePkg/Include/NetworkFeature.dsc
index bbc91ecbb1..ca151b4e33 100644
--- a/Features/Intel/Network/NetworkFeaturePkg/Include/NetworkFeature.dsc
+++ b/Features/Intel/Network/NetworkFeaturePkg/Include/NetworkFeature.dsc
@@ -18,12 +18,12 @@
 #
 ################################################################################
 [Defines]
-!ifndef $(PEI_ARCH)
-  !error "PEI_ARCH must be specified to build this feature!"
-!endif
-!ifndef $(DXE_ARCH)
-  !error "DXE_ARCH must be specified to build this feature!"
-!endif
+  !ifndef $(PEI_ARCH)
+    !error "PEI_ARCH must be specified to build this feature!"
+  !endif
+  !ifndef $(DXE_ARCH)
+    !error "DXE_ARCH must be specified to build this feature!"
+  !endif
 
   !include NetworkPkg/NetworkDefines.dsc.inc
 
@@ -41,56 +41,9 @@
 #
 ################################################################################
 
-!include MdePkg/MdeLibs.dsc.inc
-
 [LibraryClasses]
   !include NetworkPkg/NetworkLibs.dsc.inc
-
-  #######################################
-  # Edk2 Packages
-  #######################################
-  BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
-  FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
-  HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
-  IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
-  OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-  PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
-  PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
-  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
-  ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
-  SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
-  SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
-  TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
   TlsLib|CryptoPkg/Library/TlsLib/TlsLib.inf
-  UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
-  UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
-  UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
-  UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
-  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
-  UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
-
-[LibraryClasses.common.SEC,LibraryClasses.common.PEI_CORE,LibraryClasses.common.PEIM]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
-  MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
-  PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
-
-[LibraryClasses.common.DXE_CORE,LibraryClasses.common.DXE_SMM_DRIVER,LibraryClasses.common.SMM_CORE,LibraryClasses.common.DXE_DRIVER,LibraryClasses.common.DXE_RUNTIME_DRIVER,LibraryClasses.common.UEFI_DRIVER,LibraryClasses.common.UEFI_APPLICATION]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
-  DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
 
 ################################################################################
 #
@@ -106,21 +59,6 @@
 #       generated for it, but the binary will not be put into any firmware volume.
 #
 ################################################################################
-#
-# Feature PEI Components
-#
-
-# @todo: Change below line to [Components.$(PEI_ARCH)] after https://bugzilla.tianocore.org/show_bug.cgi?id=2308
-#        is completed.
-[Components.IA32]
-  #####################################
-  # Network Feature Package
-  #####################################
-
-  # Add library instances here that are not included in package components and should be tested
-  # in the package build.
-
-  # Add components here that should be included in the package build.
 
 #
 # Feature DXE Components
@@ -138,18 +76,3 @@
 
   # Add components here that should be included in the package build.
   !include NetworkPkg/NetworkComponents.dsc.inc
-
-###################################################################################################
-#
-# BuildOptions Section - Define the module specific tool chain flags that should be used as
-#                        the default flags for a module. These flags are appended to any
-#                        standard flags that are defined by the build process. They can be
-#                        applied for any modules or only those modules with the specific
-#                        module style (EDK or EDKII) specified in [Components] section.
-#
-#                        For advanced features, it is recommended to enable [BuildOptions] in
-#                        the applicable INF file so it does not affect the whole board package
-#                        build when this DSC file is active.
-#
-###################################################################################################
-[BuildOptions]
diff --git a/Features/Intel/Network/NetworkFeaturePkg/NetworkFeaturePkg.dsc b/Features/Intel/Network/NetworkFeaturePkg/NetworkFeaturePkg.dsc
index 199686fa09..cdc5dc851d 100644
--- a/Features/Intel/Network/NetworkFeaturePkg/NetworkFeaturePkg.dsc
+++ b/Features/Intel/Network/NetworkFeaturePkg/NetworkFeaturePkg.dsc
@@ -24,6 +24,24 @@
   PEI_ARCH                       = IA32
   DXE_ARCH                       = X64
 
+[Packages]
+  MinPlatformPkg/MinPlatformPkg.dec
+
+[PcdsFeatureFlag]
+  #
+  # PCD needed for MinPlatform build includes
+  #
+  gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable                |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable                   |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable                      |FALSE
+
+#
+# Include common libraries
+#
+!include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
+!include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
+!include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
+
 #
 # This package always builds the feature.
 #
-- 
2.27.0.windows.1


^ permalink raw reply related	[flat|nested] 86+ messages in thread

* [edk2-devel][edk2-platforms][PATCH V1 16/27] LogoFeaturePkg: Use MinPlatformPkg build include files
  2022-01-12  2:20 [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency Oram, Isaac W
                   ` (14 preceding siblings ...)
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 15/27] NetworkFeaturePkg: Use MinPlatformPkg build include files Oram, Isaac W
@ 2022-01-12  2:20 ` Oram, Isaac W
  2022-01-13  2:49   ` Nate DeSimone
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 17/27] PostCodeDebugFeaturePkg: Complete as an advanced feature Oram, Isaac W
                   ` (11 subsequent siblings)
  27 siblings, 1 reply; 86+ messages in thread
From: Oram, Isaac W @ 2022-01-12  2:20 UTC (permalink / raw)
  To: devel; +Cc: Isaac Oram, Dandan Bi, Liming Gao

Use the MinPlatformPkg common core build files to build libraries
needed by this feature.

Cc: Dandan Bi <dandan.bi@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/UserInterface/LogoFeaturePkg/Include/LogoFeature.dsc | 69 ++++----------------
 Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dec      |  2 -
 Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dsc      | 38 ++++++++---
 3 files changed, 41 insertions(+), 68 deletions(-)

diff --git a/Features/Intel/UserInterface/LogoFeaturePkg/Include/LogoFeature.dsc b/Features/Intel/UserInterface/LogoFeaturePkg/Include/LogoFeature.dsc
index 1898be12ed..0acce1c7df 100644
--- a/Features/Intel/UserInterface/LogoFeaturePkg/Include/LogoFeature.dsc
+++ b/Features/Intel/UserInterface/LogoFeaturePkg/Include/LogoFeature.dsc
@@ -18,36 +18,12 @@
 #
 ################################################################################
 [Defines]
-!ifndef $(PEI_ARCH)
-  !error "PEI_ARCH must be specified to build this feature!"
-!endif
-!ifndef $(DXE_ARCH)
-  !error "DXE_ARCH must be specified to build this feature!"
-!endif
-
-################################################################################
-#
-# Library Class section - list of all Library Classes needed by this feature.
-#
-################################################################################
-
-!include MdePkg/MdeLibs.dsc.inc
-
-[LibraryClasses]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-  UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
-  UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
-
-[LibraryClasses.common.DXE_DRIVER]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
+  !ifndef $(PEI_ARCH)
+    !error "PEI_ARCH must be specified to build this feature!"
+  !endif
+  !ifndef $(DXE_ARCH)
+    !error "DXE_ARCH must be specified to build this feature!"
+  !endif
 
 ################################################################################
 #
@@ -71,31 +47,8 @@
 # @todo: Change below line to [Components.$(DXE_ARCH)] after https://bugzilla.tianocore.org/show_bug.cgi?id=2308
 #        is completed.
 [Components.X64]
-  #####################################
-  # Logo Feature Package
-  #####################################
-
-  # Add library instances here that are not included in package components and should be tested
-  # in the package build.
-
-  # Add components here that should be included in the package build.
-!if gLogoFeaturePkgTokenSpaceGuid.PcdJpgEnable == TRUE
-  LogoFeaturePkg/LogoDxe/JpegLogoDxe.inf
-!else
-  LogoFeaturePkg/LogoDxe/LogoDxe.inf
-!endif
-
-###################################################################################################
-#
-# BuildOptions Section - Define the module specific tool chain flags that should be used as
-#                        the default flags for a module. These flags are appended to any
-#                        standard flags that are defined by the build process. They can be
-#                        applied for any modules or only those modules with the specific
-#                        module style (EDK or EDKII) specified in [Components] section.
-#
-#                        For advanced features, it is recommended to enable [BuildOptions] in
-#                        the applicable INF file so it does not affect the whole board package
-#                        build when this DSC file is active.
-#
-###################################################################################################
-[BuildOptions]
+  !if gLogoFeaturePkgTokenSpaceGuid.PcdJpgEnable == TRUE
+    LogoFeaturePkg/LogoDxe/JpegLogoDxe.inf
+  !else
+    LogoFeaturePkg/LogoDxe/LogoDxe.inf
+  !endif
diff --git a/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dec b/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dec
index 1418eb2137..4fa7dfea0f 100644
--- a/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dec
+++ b/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dec
@@ -21,8 +21,6 @@
 [Includes]
   Include
 
-[LibraryClasses]
-
 [Guids]
   gLogoFeaturePkgTokenSpaceGuid  =  {0x567199de, 0xb448, 0x4aa0, {0x99, 0x4e, 0xd5, 0xd6, 0x82, 0x59, 0x91, 0x17}}
 
diff --git a/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dsc b/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dsc
index fca413b46b..5a6436178c 100644
--- a/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dsc
+++ b/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dsc
@@ -21,17 +21,39 @@
   SUPPORTED_ARCHITECTURES        = IA32|X64
   BUILD_TARGETS                  = DEBUG|RELEASE|NOOPT
   SKUID_IDENTIFIER               = DEFAULT
+  PEI_ARCH                       = IA32
+  DXE_ARCH                       = X64
 
-[LibraryClasses]
-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-  UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
-  UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
+[Packages]
+  MinPlatformPkg/MinPlatformPkg.dec
+  LogoFeaturePkg/LogoFeaturePkg.dec
 
-[LibraryClasses.common.DXE_DRIVER]
-  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
+[PcdsFeatureFlag]
+  gLogoFeaturePkgTokenSpaceGuid.PcdJpgEnable                              |FALSE
 
+  #
+  # PCD needed for MinPlatform build includes
+  #
+  gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable                |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable                   |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable                      |FALSE
+
+#
+# Include common libraries
+#
+!include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
+!include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
+!include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
+
+#
+# This package always builds the feature.
+#
+!include Include/LogoFeature.dsc
+
+#
+# Since the feature include only builds the x64 BMP version, allow building
+# all drivers in this package in 32b or 64b modes
+#
 [Components]
   LogoFeaturePkg/LogoDxe/JpegLogoDxe.inf
   LogoFeaturePkg/LogoDxe/LogoDxe.inf
-- 
2.27.0.windows.1


^ permalink raw reply related	[flat|nested] 86+ messages in thread

* [edk2-devel][edk2-platforms][PATCH V1 17/27] PostCodeDebugFeaturePkg: Complete as an advanced feature
  2022-01-12  2:20 [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency Oram, Isaac W
                   ` (15 preceding siblings ...)
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 16/27] LogoFeaturePkg: " Oram, Isaac W
@ 2022-01-12  2:20 ` Oram, Isaac W
  2022-01-13  2:48   ` Nate DeSimone
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 18/27] AcpiDebugFeaturePkg: Use MinPlatformPkg build include files Oram, Isaac W
                   ` (10 subsequent siblings)
  27 siblings, 1 reply; 86+ messages in thread
From: Oram, Isaac W @ 2022-01-12  2:20 UTC (permalink / raw)
  To: devel; +Cc: Isaac Oram, Eric Dong, Liming Gao

Add feature enable PCD.
Use MinPlatformPkg build include files.
Fix PEI_COR typo in PEI handler lib.
Build StatusCodeHandler components with unique filename GUID.
Add PreMemory.fdf and PostMemory.fdf include files.
Improve Readme formatting and feature enabling checklist.

Cc: Eric Dong <eric.dong@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostCodeDebugFeature.dsc                                         | 231 +++++---------------
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostMemory.fdf                                                   |  14 ++
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PreMemory.fdf                                                    |  13 ++
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Library/PostCodeStatusCodeHandlerLib/PeiPostCodeStatusCodeHandlerLib.inf |   2 +-
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/PostCodeDebugFeaturePkg.dec                                              |  11 +
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/PostCodeDebugFeaturePkg.dsc                                              |  30 +++
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Readme.md                                                                |  31 ++-
 7 files changed, 146 insertions(+), 186 deletions(-)

diff --git a/Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostCodeDebugFeature.dsc b/Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostCodeDebugFeature.dsc
index 3d886fff38..31b0c02e79 100644
--- a/Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostCodeDebugFeature.dsc
+++ b/Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostCodeDebugFeature.dsc
@@ -12,192 +12,71 @@
 #
 ##
 
-################################################################################
-#
-# Defines Section - statements that will be processed to create a Makefile.
-#
-################################################################################
 [Defines]
-!ifndef $(PEI_ARCH)
-  !error "PEI_ARCH must be specified to build this feature!"
-!endif
-!ifndef $(DXE_ARCH)
-  !error "DXE_ARCH must be specified to build this feature!"
-!endif
+  !ifndef $(PEI_ARCH)
+    !error "PEI_ARCH must be specified to build this feature!"
+  !endif
+  !ifndef $(DXE_ARCH)
+    !error "DXE_ARCH must be specified to build this feature!"
+  !endif
 
-################################################################################
-#
-# PCD Section - list of PCD Entries modified by the feature.
-#
-################################################################################
+  DEFINE POST_CODE_PEIM_FILENAME  = 3ea07dd3-f837-40c0-ac56-f3e18a30d01b
+  DEFINE POST_CODE_DXE_FILENAME   = e7d785f5-e2f3-45e3-b0e7-2291a6c6dea6
+  DEFINE POST_CODE_SMM_FILENAME   = 02a955c7-48c0-4178-989b-b3fea4b3c6a2
 
-# Unmark the following and StatusCodeHandler.efi to build the .dsc file directly
-#[PcdsDynamicDefault]
-#  gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUsePostCode|TRUE
+[PcdsDynamicExDefault]
+  #
+  # By default, make the functional control DynamicExDefault PCD so that it can be enabled when debugging.
+  #
+  gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUsePostCode
 
-################################################################################
-#
-# Library Class section - list of all Library Classes needed by this feature.
-#
-################################################################################
+[LibraryClasses.Common]
+  PostCodeMapLib|PostCodeDebugFeaturePkg/Library/PostCodeMapLib/PostCodeMapLib.inf
 
-!include MdePkg/MdeLibs.dsc.inc
+[LibraryClasses.PEIM, LibraryClasses.PEI_CORE]
+  StatusCodeHandlerLib|PostCodeDebugFeaturePkg/Library/PostCodeStatusCodeHandlerLib/PeiPostCodeStatusCodeHandlerLib.inf
 
-[LibraryClasses]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
-  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-  PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
-  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
-  TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
-  UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
-  UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
-  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
-  UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
-  PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
+[LibraryClasses.DXE_RUNTIME_DRIVER]
+  StatusCodeHandlerLib|PostCodeDebugFeaturePkg/Library/PostCodeStatusCodeHandlerLib/RuntimeDxePostCodeStatusCodeHandlerLib.inf
 
-[LibraryClasses.common.PEIM]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
-  MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
-  PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
+[LibraryClasses.DXE_SMM_DRIVER]
+  StatusCodeHandlerLib|PostCodeDebugFeaturePkg/Library/PostCodeStatusCodeHandlerLib/SmmPostCodeStatusCodeHandlerLib.inf
 
-[LibraryClasses.IA32.PEIM,LibraryClasses.IA32.PEI_CORE,LibraryClasses.IA32.SEC]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
-
-[LibraryClasses.common.DXE_DRIVER]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-
-[LibraryClasses.common.DXE_RUNTIME_DRIVER]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-  UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
-  ReportStatusCodeLib|MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportStatusCodeLib.inf
-
-[LibraryClasses.common.UEFI_DRIVER]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-
-[LibraryClasses.X64.DXE_SMM_DRIVER]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  SmmServicesTableLib|MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.inf
-  MemoryAllocationLib|MdePkg/Library/SmmMemoryAllocationLib/SmmMemoryAllocationLib.inf
-  SmmIoLib|MdePkg/Library/SmmIoLib/SmmIoLib.inf
-  SmmMemLib|MdePkg/Library/SmmMemLib/SmmMemLib.inf
-  ReportStatusCodeLib|MdeModulePkg/Library/SmmReportStatusCodeLib/SmmReportStatusCodeLib.inf
-
-################################################################################
-#
-# Component section - list of all components that need built for this feature.
-#
-# Note: The EDK II DSC file is not used to specify how compiled binary images get placed
-#       into firmware volume images. This section is just a list of modules to compile from
-#       source into UEFI-compliant binaries.
-#       It is the FDF file that contains information on combining binary files into firmware
-#       volume images, whose concept is beyond UEFI and is described in PI specification.
-#       There may also be modules listed in this section that are not required in the FDF file,
-#       When a module listed here is excluded from FDF file, then UEFI-compliant binary will be
-#       generated for it, but the binary will not be put into any firmware volume.
-#
-################################################################################
-#
-# Feature PEI Components
-#
-
-# @todo: Change below line to [Components.$(PEI_ARCH)] after https://bugzilla.tianocore.org/show_bug.cgi?id=2308
-#        is completed.
 [Components.IA32]
-  #####################################
-  # PostCode Debug Feature Package
-  #####################################
 
-  # Add library instances here that are not included in package components and should be tested
-  # in the package build.
-  PostCodeDebugFeaturePkg/Library/PostCodeStatusCodeHandlerLib/PeiPostCodeStatusCodeHandlerLib.inf
+  MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf {
+    <Defines>
+      #
+      # Many boards already have StatusCodeHandler components built from the common core code
+      # Providing a unique name avoids collisions.  Both status code handler components will
+      # install their listeners with the status code routers.
+      #
+      FILE_GUID = $(POST_CODE_PEIM_FILENAME)
+    <LibraryClasses>
+      NULL|PostCodeDebugFeaturePkg/Library/PostCodeStatusCodeHandlerLib/PeiPostCodeStatusCodeHandlerLib.inf
+  }
 
-  # The following is an example for used with StatusCodeHandler:
-# MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf {
-#   <LibraryClasses>
-#     OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
-#     SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf
-#     PostCodeLib|MdePkg/Library/BasePostCodeLibDebug/BasePostCodeLibDebug.inf
-#     PostCodeMapLib|PostCodeDebugFeaturePkg/Library/PostCodeMapLib/PostCodeMapLib.inf
-#     NULL|PostCodeDebugFeaturePkg/Library/PostCodeStatusCodeHandlerLib/PeiPostCodeStatusCodeHandlerLib.inf
-# }
-
-  # Add components here that should be included in the package build.
-
-#
-# Feature DXE Components
-#
-
-# @todo: Change below line to [Components.$(DXE_ARCH)] after https://bugzilla.tianocore.org/show_bug.cgi?id=2308
-#        is completed.
 [Components.X64]
-  #####################################
-  # PostCode Debug Feature Package
-  #####################################
+  MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf {
+    <Defines>
+      #
+      # Many boards already have StatusCodeHandler components built from the common core code
+      # Providing a unique name avoids collisions.  Both status code handler components will
+      # install their listeners with the status code routers.
+      #
+      FILE_GUID = $(POST_CODE_DXE_FILENAME)
+    <LibraryClasses>
+      NULL|PostCodeDebugFeaturePkg/Library/PostCodeStatusCodeHandlerLib/RuntimeDxePostCodeStatusCodeHandlerLib.inf
+  }
 
-  # Add library instances here that are not included in package components and should be tested
-  # in the package build.
-  PostCodeDebugFeaturePkg/Library/PostCodeStatusCodeHandlerLib/RuntimeDxePostCodeStatusCodeHandlerLib.inf
-  PostCodeDebugFeaturePkg/Library/PostCodeStatusCodeHandlerLib/SmmPostCodeStatusCodeHandlerLib.inf
-
-  # The following is an example for used with StatusCodeHandler:
-# MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf {
-#   <LibraryClasses>
-#     OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
-#     SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf
-#     PostCodeLib|MdePkg/Library/BasePostCodeLibDebug/BasePostCodeLibDebug.inf
-#     PostCodeMapLib|PostCodeDebugFeaturePkg/Library/PostCodeMapLib/PostCodeMapLib.inf
-#     NULL|PostCodeDebugFeaturePkg/Library/PostCodeStatusCodeHandlerLib/RuntimeDxePostCodeStatusCodeHandlerLib.inf
-# }
-
-# MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerSmm.inf {
-#   <LibraryClasses>
-#     OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
-#     SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf
-#     PostCodeLib|MdePkg/Library/BasePostCodeLibDebug/BasePostCodeLibDebug.inf
-#     PostCodeMapLib|PostCodeDebugFeaturePkg/Library/PostCodeMapLib/PostCodeMapLib.inf
-#     NULL|PostCodeDebugFeaturePkg/Library/PostCodeStatusCodeHandlerLib/SmmPostCodeStatusCodeHandlerLib.inf
-# }
-
-  # Add components here that should be included in the package build.
-
-###################################################################################################
-#
-# BuildOptions Section - Define the module specific tool chain flags that should be used as
-#                        the default flags for a module. These flags are appended to any
-#                        standard flags that are defined by the build process. They can be
-#                        applied for any modules or only those modules with the specific
-#                        module style (EDK or EDKII) specified in [Components] section.
-#
-#                        For advanced features, it is recommended to enable [BuildOptions] in
-#                        the applicable INF file so it does not affect the whole board package
-#                        build when this DSC file is active.
-#
-###################################################################################################
-[BuildOptions]
+  MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerSmm.inf {
+    <Defines>
+      #
+      # Many boards already have StatusCodeHandler components built from the common core code
+      # Providing a unique name avoids collisions.  Both status code handler components will
+      # install their listeners with the status code routers.
+      #
+      FILE_GUID = $(POST_CODE_SMM_FILENAME)
+    <LibraryClasses>
+      NULL|PostCodeDebugFeaturePkg/Library/PostCodeStatusCodeHandlerLib/SmmPostCodeStatusCodeHandlerLib.inf
+  }
diff --git a/Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostMemory.fdf b/Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostMemory.fdf
new file mode 100644
index 0000000000..1be9b369a8
--- /dev/null
+++ b/Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostMemory.fdf
@@ -0,0 +1,14 @@
+## @file
+#  FDF file for post-memory BeepDebugFeature advanced feature.
+#
+#  This file is intended to be included into another package so advanced features
+#  can be conditionally included in the flash image by enabling the respective
+#  feature via its FeaturePCD.
+#
+# Copyright (C) 2022 Intel Corporation.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+##
+
+INF FILE_GUID = $(POST_CODE_DXE_FILENAME) MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf
+INF FILE_GUID = $(POST_CODE_SMM_FILENAME) MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerSmm.inf
diff --git a/Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PreMemory.fdf b/Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PreMemory.fdf
new file mode 100644
index 0000000000..168ceb1712
--- /dev/null
+++ b/Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PreMemory.fdf
@@ -0,0 +1,13 @@
+## @file
+#  FDF file for pre-memory BeepDebugFeature advanced feature.
+#
+#  This file is intended to be included into another package so advanced features
+#  can be conditionally included in the flash image by enabling the respective
+#  feature via its FeaturePCD.
+#
+# Copyright (C) 2022 Intel Corporation.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+##
+
+INF FILE_GUID = $(POST_CODE_PEIM_FILENAME) MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf
diff --git a/Features/Intel/Debugging/PostCodeDebugFeaturePkg/Library/PostCodeStatusCodeHandlerLib/PeiPostCodeStatusCodeHandlerLib.inf b/Features/Intel/Debugging/PostCodeDebugFeaturePkg/Library/PostCodeStatusCodeHandlerLib/PeiPostCodeStatusCodeHandlerLib.inf
index c27578fe90..72df81c77f 100644
--- a/Features/Intel/Debugging/PostCodeDebugFeaturePkg/Library/PostCodeStatusCodeHandlerLib/PeiPostCodeStatusCodeHandlerLib.inf
+++ b/Features/Intel/Debugging/PostCodeDebugFeaturePkg/Library/PostCodeStatusCodeHandlerLib/PeiPostCodeStatusCodeHandlerLib.inf
@@ -15,7 +15,7 @@
   FILE_GUID                      = FA32350A-63DB-4AC6-88D1-BC5327EE7ECE
   MODULE_TYPE                    = PEIM
   CONSTRUCTOR                    = PeiPostCodeStatusCodeHandlerLibConstructor
-  LIBRARY_CLASS                  = StatusCodeHandlerLib|SEC PEIM PEI_COR
+  LIBRARY_CLASS                  = StatusCodeHandlerLib|SEC PEIM PEI_CORE
 
 #
 # The following information is for reference only and not required by the build tools.
diff --git a/Features/Intel/Debugging/PostCodeDebugFeaturePkg/PostCodeDebugFeaturePkg.dec b/Features/Intel/Debugging/PostCodeDebugFeaturePkg/PostCodeDebugFeaturePkg.dec
index 5ba7b30ab6..42ac756a7c 100644
--- a/Features/Intel/Debugging/PostCodeDebugFeaturePkg/PostCodeDebugFeaturePkg.dec
+++ b/Features/Intel/Debugging/PostCodeDebugFeaturePkg/PostCodeDebugFeaturePkg.dec
@@ -28,5 +28,16 @@
 [Guids]
   gPostCodeDebugFeaturePkgTokenSpaceGuid  =  {0x68886ac8, 0x7a29, 0x4845, {0xa7, 0x02, 0xe9, 0x83, 0xc8, 0x7f, 0xfb, 0xab}}
 
+[PcdsFeatureFlag]
+  gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureEnable|FALSE|BOOLEAN|0x00000002
+
 [PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]
+  ## This PCD allows for dynamic control of post code use if so desired.
+  #
+  #  The PCD value can be modified at boot time to activate and deactivate the feature functionality.
+  #
+  #  Note that this differs from Pcd<FeatureName>FeatureEnable which determines whether the feature is included
+  #  as an advanced feature in the flash image. If enabled, the feature is then eligible to be activated/deactivated
+  #  via this PCD.
+  #
   gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUsePostCode|FALSE|BOOLEAN|0x00000001
diff --git a/Features/Intel/Debugging/PostCodeDebugFeaturePkg/PostCodeDebugFeaturePkg.dsc b/Features/Intel/Debugging/PostCodeDebugFeaturePkg/PostCodeDebugFeaturePkg.dsc
index 4f0bec4a6f..349604098f 100644
--- a/Features/Intel/Debugging/PostCodeDebugFeaturePkg/PostCodeDebugFeaturePkg.dsc
+++ b/Features/Intel/Debugging/PostCodeDebugFeaturePkg/PostCodeDebugFeaturePkg.dsc
@@ -24,6 +24,36 @@
   PEI_ARCH                       = IA32
   DXE_ARCH                       = X64
 
+[Packages]
+  MinPlatformPkg/MinPlatformPkg.dec
+
+[PcdsFeatureFlag]
+  #
+  # PCD needed for MinPlatform build includes
+  #
+  gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable                |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable                   |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable                      |FALSE
+
+[PcdsDynamicExDefault]
+  #
+  # PCD needed for this feature to build
+  #
+  gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUsePostCode|TRUE
+
+#
+# Include common libraries
+#
+!include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
+!include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
+!include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
+
+[LibraryClasses.Common]
+  #
+  # Required by common status code handler infrastructure
+  #
+  PlatformHookLib|MdeModulePkg/Library/BasePlatformHookLibNull/BasePlatformHookLibNull.inf
+
 #
 # This package always builds the feature.
 #
diff --git a/Features/Intel/Debugging/PostCodeDebugFeaturePkg/Readme.md b/Features/Intel/Debugging/PostCodeDebugFeaturePkg/Readme.md
index c49db35999..3fc52f1c00 100644
--- a/Features/Intel/Debugging/PostCodeDebugFeaturePkg/Readme.md
+++ b/Features/Intel/Debugging/PostCodeDebugFeaturePkg/Readme.md
@@ -16,7 +16,7 @@ It also provide a library of PostCodeMap lib, it map the status code to post cod
 A library of PostCode lib is needed by platform.
 
 In the library contstructor function, PostCodeStatusCodeHandlerLib register the call back function for ReportStatusCode.
-When called, it call GetPostCodeFromStatusCode() in PostCodeMapLib to get post code from status code, and call PostCode() in PostCodeLib to show the post code.
+When called, it call GetPostCodeFromStatusCode () in PostCodeMapLib to get post code from status code, and call PostCode () in PostCodeLib to show the post code.
 
 PostCodeStatusCodeHandlerLib include 3 libraries for PEI, RuntimeDxe, SMM:
 * PeiPostCodeStatusCodeHandlerLib
@@ -38,6 +38,7 @@ This library provide a function to get post code from status code.
 
 ## Key Functions
 * In PeiPostCodeStatusCodeHandlerLib:
+```
   EFI_STATUS
   EFIAPI
   PostCodeStatusCodeReportWorker (
@@ -48,8 +49,10 @@ This library provide a function to get post code from status code.
     IN CONST EFI_GUID                 *CallerId,
     IN CONST EFI_STATUS_CODE_DATA     *Data OPTIONAL
   )
+```
 
 * In RuntimeDxePostCodeStatusCodeHandlerLib:
+```
   EFI_STATUS
   EFIAPI
   PostCodeStatusCodeReportWorker (
@@ -59,8 +62,10 @@ This library provide a function to get post code from status code.
     IN EFI_GUID                       *CallerId,
     IN EFI_STATUS_CODE_DATA           *Data OPTIONAL
   )
+```
 
 * In SmmPostCodeStatusCodeHandlerLib:
+```
   EFI_STATUS
   EFIAPI
   PostCodeStatusCodeReportWorker (
@@ -70,23 +75,28 @@ This library provide a function to get post code from status code.
     IN EFI_GUID                       *CallerId,
     IN EFI_STATUS_CODE_DATA           *Data OPTIONAL
     )
+```
 
 * In PostCodeMapLib:
+```
   UINT32
   EFIAPI
   GetPostCodeFromStatusCode (
     IN EFI_STATUS_CODE_TYPE           CodeType,
     IN EFI_STATUS_CODE_VALUE          Value
   )
+```
 
 ## Configuration
-* Link the library to StatusCodeHandler.efi.
+* Link the library to StatusCodeHandler.efi to add this status code handler.
+```
   Example:
     MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf {
       <LibraryClasses>
         NULL|PostCodeDebugFeaturePkg/Library/PostCodeStatusCodeHandlerLib/RuntimeDxePostCodeStatusCodeHandlerLib.inf
     }
-  Refer to PostCodeDebugFeature.dsc for other example.
+```
+  Refer to PostCodeDebugFeature.dsc for another example.
 * Config PCD gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUsePostCode.
   In platform .dsc file, need to config the type of gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUsePostCode.
   Use PcdsFixedAtBuild to save binary size, and use PcdsDynamic if want to enable/disable in runtime.
@@ -98,20 +108,23 @@ This library provide a function to get post code from status code.
 Status Code (ReportStatusCode) -> Post Code (GetPostCodeFromStatusCode).
 
 ## Control Flows
-ReportStatusCode() -> PostCodeStatusCodeReportWorker() -> GetPostCodeFromStatusCode() -> PostCode()
+ReportStatusCode () -> PostCodeStatusCodeReportWorker () -> GetPostCodeFromStatusCode () -> PostCode ()
 
 ## Build Flows
-There is not special build flows.
+There are not special build flows.
 
 ## Test Point Results
-Verify the post code shown is correct.
+There are no test points defined.
 
 ## Functional Exit Criteria
 N/A
 
 ## Feature Enabling Checklist
-* Set the PCD gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUsePostCode to TRUE.
-* The post code can be shown.
+* Set the PCD gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureEnable to TRUE.
+* Select the PCD type desired and set the PCD gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUsePostCode to TRUE.
+* Implemented a platform specific PostCodeMapLib if needed.
+* Verify the post code can be shown correctly.
 
 ## Common Optimizations
-* Implemented platform's special PostCodeMapLib if needed.
+* Set gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUsePostCode based on a larger, board specific, size
+  optimization or performance optimization setting.
-- 
2.27.0.windows.1


^ permalink raw reply related	[flat|nested] 86+ messages in thread

* [edk2-devel][edk2-platforms][PATCH V1 18/27] AcpiDebugFeaturePkg: Use MinPlatformPkg build include files
  2022-01-12  2:20 [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency Oram, Isaac W
                   ` (16 preceding siblings ...)
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 17/27] PostCodeDebugFeaturePkg: Complete as an advanced feature Oram, Isaac W
@ 2022-01-12  2:20 ` Oram, Isaac W
  2022-01-13  2:47   ` Nate DeSimone
  2022-01-19 23:30   ` Nate DeSimone
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 19/27] Usb3DebugFeaturePkg: Align with feature design guidelines Oram, Isaac W
                   ` (9 subsequent siblings)
  27 siblings, 2 replies; 86+ messages in thread
From: Oram, Isaac W @ 2022-01-12  2:20 UTC (permalink / raw)
  To: devel; +Cc: Isaac Oram, Eric Dong, Liming Gao

Use the MinPlatformPkg common core build files to build libraries
needed by this feature.

Cc: Eric Dong <eric.dong@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dsc      | 21 ++++++
 Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc | 70 --------------------
 Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf       |  4 +-
 3 files changed, 23 insertions(+), 72 deletions(-)

diff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dsc b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dsc
index 62cc559d8f..3b76d39ea8 100644
--- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dsc
+++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dsc
@@ -24,6 +24,27 @@
   PEI_ARCH                       = IA32
   DXE_ARCH                       = X64
 
+[Packages]
+  MinPlatformPkg/MinPlatformPkg.dec
+
+#
+# Since there are no 32b libraries or components in this package, these PCD are specified for 64b only
+#
+[PcdsFeatureFlag.X64]
+  #
+  # PCD needed for MinPlatform build includes
+  #
+  gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable                |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable                   |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable                      |FALSE
+
+#
+# Include common libraries
+#
+!include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
+!include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
+!include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
+
 #
 # This package always builds the feature.
 #
diff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc
index b142978be1..f5b8bacee0 100644
--- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc
+++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc
@@ -25,45 +25,6 @@
   !error "DXE_ARCH must be specified to build this feature!"
 !endif
 
-################################################################################
-#
-# Library Class section - list of all Library Classes needed by this feature.
-#
-################################################################################
-
-!include MdePkg/MdeLibs.dsc.inc
-
-[LibraryClasses]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
-  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
-  UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
-  UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
-  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
-  UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
-
-[LibraryClasses.common.DXE_DRIVER,LibraryClasses.common.DXE_RUNTIME_DRIVER]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-
-[LibraryClasses.common.DXE_SMM_DRIVER]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
-  MemoryAllocationLib|MdePkg/Library/SmmMemoryAllocationLib/SmmMemoryAllocationLib.inf
-  SmmServicesTableLib|MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.inf
-
 ################################################################################
 #
 # Component section - list of all components that need built for this feature.
@@ -78,22 +39,6 @@
 #       generated for it, but the binary will not be put into any firmware volume.
 #
 ################################################################################
-#
-# Feature PEI Components
-#
-
-# @todo: Change below line to [Components.$(PEI_ARCH)] after https://bugzilla.tianocore.org/show_bug.cgi?id=2308
-#        is completed.
-[Components.IA32]
-  #####################################
-  # ACPI Debug Feature Package
-  #####################################
-
-  # Add library instances here that are not included in package components and should be tested
-  # in the package build.
-
-  # Add components here that should be included in the package build.
-
 #
 # Feature DXE Components
 #
@@ -111,18 +56,3 @@
   # Add components here that should be included in the package build.
   AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf
   AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf
-
-###################################################################################################
-#
-# BuildOptions Section - Define the module specific tool chain flags that should be used as
-#                        the default flags for a module. These flags are appended to any
-#                        standard flags that are defined by the build process. They can be
-#                        applied for any modules or only those modules with the specific
-#                        module style (EDK or EDKII) specified in [Components] section.
-#
-#                        For advanced features, it is recommended to enable [BuildOptions] in
-#                        the applicable INF file so it does not affect the whole board package
-#                        build when this DSC file is active.
-#
-###################################################################################################
-[BuildOptions]
diff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf
index 84560dae50..855826292c 100644
--- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf
+++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf
@@ -7,5 +7,5 @@
 #
 ##
 
-  INF RuleOverride = DRIVER_ACPITABLE AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf
-  INF RuleOverride = DRIVER_ACPITABLE AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf
+INF RuleOverride = DRIVER_ACPITABLE AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf
+INF RuleOverride = DRIVER_ACPITABLE AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf
-- 
2.27.0.windows.1


^ permalink raw reply related	[flat|nested] 86+ messages in thread

* [edk2-devel][edk2-platforms][PATCH V1 19/27] Usb3DebugFeaturePkg: Align with feature design guidelines
  2022-01-12  2:20 [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency Oram, Isaac W
                   ` (17 preceding siblings ...)
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 18/27] AcpiDebugFeaturePkg: Use MinPlatformPkg build include files Oram, Isaac W
@ 2022-01-12  2:20 ` Oram, Isaac W
  2022-01-13  2:47   ` Nate DeSimone
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 20/27] SpcrFeaturePkg: Use MinPlatform build include files Oram, Isaac W
                   ` (8 subsequent siblings)
  27 siblings, 1 reply; 86+ messages in thread
From: Oram, Isaac W @ 2022-01-12  2:20 UTC (permalink / raw)
  To: devel; +Cc: Isaac Oram, Eric Dong, Liming Gao

Remove build of common libraries.  Boards will already have those.

Modified Usb3DebugFeature.dsc to treat libraries like libraries.
Usb3DebugFeaturePkg.dsc uses the component trick for standalone build
testing of the libraries.

Added a PCD to allow board to select between NULL, regular, and IO MMU
library instances.  Prior implementation of Usb3DebugFeature.dsc was not
useful as an includable file because it didn't specify LibaryClass
instance to use.

Removed unused CMOS PCD.

Updated some of the readme sections.

Cc: Eric Dong <eric.dong@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/Debugging/Usb3DebugFeaturePkg/Include/Usb3DebugFeature.dsc | 131 ++++----------------
 Features/Intel/Debugging/Usb3DebugFeaturePkg/Readme.md                    |  50 +++++---
 Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dec      |  14 +--
 Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dsc      |  18 +++
 4 files changed, 81 insertions(+), 132 deletions(-)

diff --git a/Features/Intel/Debugging/Usb3DebugFeaturePkg/Include/Usb3DebugFeature.dsc b/Features/Intel/Debugging/Usb3DebugFeaturePkg/Include/Usb3DebugFeature.dsc
index 1e3aaecd5d..a87a5b428b 100644
--- a/Features/Intel/Debugging/Usb3DebugFeaturePkg/Include/Usb3DebugFeature.dsc
+++ b/Features/Intel/Debugging/Usb3DebugFeaturePkg/Include/Usb3DebugFeature.dsc
@@ -31,122 +31,35 @@
 #
 ################################################################################
 
-!include MdePkg/MdeLibs.dsc.inc
+[LibraryClasses.Common]
+  Usb3DebugPortParamLibo|Usb3DebugFeaturePkg/Library/Usb3DebugPortParamLibPcd/Usb3DebugPortParamLibPcd.inf
 
-[LibraryClasses]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
-  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
-  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-  PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
-  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
-  TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
-  UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
-  UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
-  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
-  UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
-
-[LibraryClasses.common.PEIM]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
-  MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
-  PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
-
-[LibraryClasses.common.DXE_DRIVER]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-
-[LibraryClasses.common.DXE_RUNTIME_DRIVER]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-  UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
-
-[LibraryClasses.common.UEFI_DRIVER]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-
-################################################################################
-#
-# Component section - list of all components that need built for this feature.
-#
-# Note: The EDK II DSC file is not used to specify how compiled binary images get placed
-#       into firmware volume images. This section is just a list of modules to compile from
-#       source into UEFI-compliant binaries.
-#       It is the FDF file that contains information on combining binary files into firmware
-#       volume images, whose concept is beyond UEFI and is described in PI specification.
-#       There may also be modules listed in this section that are not required in the FDF file,
-#       When a module listed here is excluded from FDF file, then UEFI-compliant binary will be
-#       generated for it, but the binary will not be put into any firmware volume.
-#
-################################################################################
 #
-# Feature PEI Components
+# If NULL Usb3DebugPortLib library instance desired
 #
-
-# @todo: Change below line to [Components.$(PEI_ARCH)] after https://bugzilla.tianocore.org/show_bug.cgi?id=2308
-#        is completed.
-[Components.IA32]
-  #####################################
-  # USB3 Debug Feature Package
-  #####################################
-
-  # Add library instances here that are not included in package components and should be tested
-  # in the package build.
-  Usb3DebugFeaturePkg/Library/Usb3DebugPortLib/Usb3DebugPortLibNull.inf
-  Usb3DebugFeaturePkg/Library/Usb3DebugPortParamLibPcd/Usb3DebugPortParamLibPcd.inf
-  Usb3DebugFeaturePkg/Library/Usb3DebugPortLib/Usb3DebugPortLibPei.inf
-  Usb3DebugFeaturePkg/Library/Usb3DebugPortLib/Usb3DebugPortLibPeiIoMmu.inf
-
-  # Add components here that should be included in the package build.
+!if gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugPortLibInstance == 0
+  [LibraryClasses.Common]
+    Usb3DebugPortLib|Usb3DebugFeaturePkg/Library/Usb3DebugPortLib/Usb3DebugPortLibNull.inf
+!endif
 
 #
-# Feature DXE Components
+# If regular Usb3DebugPortLib library instance desired
 #
+!if gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugPortLibInstance == 1
+  [LibraryClasses.PEI_CORE, LibraryClasses.PEIM]
+    Usb3DebugPortLib|Usb3DebugFeaturePkg/Library/Usb3DebugPortLib/Usb3DebugPortLibPei.inf
 
-# @todo: Change below line to [Components.$(DXE_ARCH)] after https://bugzilla.tianocore.org/show_bug.cgi?id=2308
-#        is completed.
-[Components.X64]
-  #####################################
-  # USB3 Debug Feature Package
-  #####################################
-
-  # Add library instances here that are not included in package components and should be tested
-  # in the package build.
-  Usb3DebugFeaturePkg/Library/Usb3DebugPortLib/Usb3DebugPortLibNull.inf
-  Usb3DebugFeaturePkg/Library/Usb3DebugPortParamLibPcd/Usb3DebugPortParamLibPcd.inf
-  Usb3DebugFeaturePkg/Library/Usb3DebugPortLib/Usb3DebugPortLibDxe.inf
-  Usb3DebugFeaturePkg/Library/Usb3DebugPortLib/Usb3DebugPortLibDxeIoMmu.inf
+  [LibraryClasses.DXE_CORE, LibraryClasses.DXE_DRIVER, LibraryClasses.DXE_RUNTIME_DRIVER, LibraryClasses.SMM_CORE, LibraryClasses.DXE_SMM_DRIVER, LibraryClasses.UEFI_DRIVER]
+    Usb3DebugPortLib|Usb3DebugFeaturePkg/Library/Usb3DebugPortLib/Usb3DebugPortLibDxe.inf
+!endif
 
-  # Add components here that should be included in the package build.
-
-###################################################################################################
-#
-# BuildOptions Section - Define the module specific tool chain flags that should be used as
-#                        the default flags for a module. These flags are appended to any
-#                        standard flags that are defined by the build process. They can be
-#                        applied for any modules or only those modules with the specific
-#                        module style (EDK or EDKII) specified in [Components] section.
 #
-#                        For advanced features, it is recommended to enable [BuildOptions] in
-#                        the applicable INF file so it does not affect the whole board package
-#                        build when this DSC file is active.
+# If regular Usb3DebugPortLib library instance desired
 #
-###################################################################################################
-[BuildOptions]
+!if gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugPortLibInstance == 2
+  [LibraryClasses.PEI_CORE, LibraryClasses.PEIM]
+    Usb3DebugPortLib|Usb3DebugFeaturePkg/Library/Usb3DebugPortLib/Usb3DebugPortLibPeiIoMmu.inf
+
+  [LibraryClasses.DXE_CORE, LibraryClasses.DXE_DRIVER, LibraryClasses.DXE_RUNTIME_DRIVER, LibraryClasses.SMM_CORE, LibraryClasses.DXE_SMM_DRIVER, LibraryClasses.UEFI_DRIVER]
+    Usb3DebugPortLib|Usb3DebugFeaturePkg/Library/Usb3DebugPortLib/Usb3DebugPortLibDxeIoMmu.inf
+!endif
diff --git a/Features/Intel/Debugging/Usb3DebugFeaturePkg/Readme.md b/Features/Intel/Debugging/Usb3DebugFeaturePkg/Readme.md
index dc92f108ff..c8afcf9fd2 100644
--- a/Features/Intel/Debugging/Usb3DebugFeaturePkg/Readme.md
+++ b/Features/Intel/Debugging/Usb3DebugFeaturePkg/Readme.md
@@ -29,12 +29,15 @@ The description should not be constrained to implementation details but provide
 feature is supposed to work.
 
 ## Firmware Volumes
-*_TODO_*
-A bulleted list of the firmware volumes that feature module(s) are placed in.
+Not applicable, the feature only produces libraries.
 
 ## Modules
-*_TODO_*
-A bulleted list of the modules that make up the feature.
+* Usb3DebugPortLibDxe
+* Usb3DebugPortLibDxeIoMmu
+* Usb3DebugPortLibNull
+* Usb3DebugPortLibPei
+* Usb3DebugPortLibPeiIoMmu
+* Usb3DebugPortParamLibPcd
 
 ## <Module Name>
 *_TODO_*
@@ -76,11 +79,7 @@ This is particularly useful for features that use custom build tools or require
 standard flow in the feature package template is used, this section may be empty.
 
 ## Test Point Results
-*_TODO_*
-The test(s) that can verify porting is complete for the feature.
-
-Each feature must describe at least one test point to verify the feature is successful. If the test point is not
-implemented, this should be stated.
+No test points implemented
 
 ## Functional Exit Criteria
 *_TODO_*
@@ -90,8 +89,28 @@ This section should provide an ordered list of criteria that a board integrator
 functional on their board.
 
 ## Feature Enabling Checklist
-*_TODO_*
-An ordered list of required activities to achieve desired functionality for the feature.
+* In the board DSC file, enable the feature
+```
+[PcdsFeatureFlag]
+  gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable|TRUE
+```
+* In the board DSC file, select the implementation desired
+```
+[PcdsFixedAtBuild]
+  # 0 = Non-functional instance
+  # 1 = Regular instance
+  # 2 = IO MMU instance
+  gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugPortLibInstance|1
+```
+* In the board DSC file, configure the PCI device information
+```
+[PcdsFixedAtBuild]
+  gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsbSerialXhciBus|0x00
+  gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsbSerialXhciDev|0x14
+  gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsbSerialXhciFunc|0x00
+  gUsb3DebugFeaturePkgTokenSpaceGuid.PcdXhciDefaultBaseAddress|0xFEA10000
+```
+
 
 ## Performance Impact
 A general expectation for the impact on overall boot performance due to using this feature.
@@ -102,7 +121,8 @@ This section is expected to provide guidance on:
 * How to manage performance impact of the feature
 
 ## Common Optimizations
-*_TODO_*
-Common size or performance tuning options for this feature.
-
-This section is recommended but not required. If not used, the contents should be left empty.
+* In the board DSC file, tune the timeout value
+```
+[PcdsFixedAtBuild]
+  gUsb3DebugFeaturePkgTokenSpaceGuid.PcdXhciHostWaitTimeout|2000000
+```
diff --git a/Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dec b/Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dec
index 2b19e48491..353001b0f8 100644
--- a/Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dec
+++ b/Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dec
@@ -36,6 +36,12 @@
   gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable|FALSE|BOOLEAN|0xA0000001
 
 [PcdsFixedAtBuild]
+  ## This PCD allows the board to select the Usb3DebugPortLib instance desired
+  # 0 = NULL instance
+  # 1 = Regular instance
+  # 2 = IO MMU instance
+  gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugPortLibInstance|0|UINT8|0xF0000009
+
   ## These PCD specify XHCI controller Bus/Device/Function, which are used to enable
   #  XHCI debug device.
   gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsbSerialXhciBus|0x00|UINT8|0xF0000001
@@ -47,11 +53,3 @@
   #  Default timeout value is 2000000 microseconds.
   #  If user does not want system stall for long time, it can be set to small value.
   gUsb3DebugFeaturePkgTokenSpaceGuid.PcdXhciHostWaitTimeout|2000000|UINT64|0xF0000005
-
-  ## This PCD sepcifies the start index in CMOS, it will occupy 1 bytes space.
-  gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugPortBusIndex|0x59|UINT8|0xF0000006
-  ## This PCD sepcifies the start index in CMOS, it will occupy 1 bytes space.
-  gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugPortDeviceIndex|0x5A|UINT8|0xF0000007
-  ## This PCD sepcifies the start index in CMOS, it will occupy 1 bytes space.
-  gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugPortFunctionIndex|0x5B|UINT8|0xF0000008
-
diff --git a/Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dsc b/Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dsc
index 02627d2ed4..6965d26721 100644
--- a/Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dsc
+++ b/Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dsc
@@ -24,7 +24,25 @@
   PEI_ARCH                       = IA32
   DXE_ARCH                       = X64
 
+[PcdsFixedAtBuild]
+  gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugPortLibInstance|0
+
 #
 # This package always builds the feature.
 #
 !include Include/Usb3DebugFeature.dsc
+
+#
+# This package currently only contains library classes.  To force them to be built since there is no code to use them
+# we just tell the build that they are components and the build will compile the libraries
+#
+
+[Components]
+  Usb3DebugFeaturePkg/Library/Usb3DebugPortLib/Usb3DebugPortLibNull.inf
+  Usb3DebugFeaturePkg/Library/Usb3DebugPortParamLibPcd/Usb3DebugPortParamLibPcd.inf
+
+  Usb3DebugFeaturePkg/Library/Usb3DebugPortLib/Usb3DebugPortLibPei.inf
+  Usb3DebugFeaturePkg/Library/Usb3DebugPortLib/Usb3DebugPortLibPeiIoMmu.inf
+
+  Usb3DebugFeaturePkg/Library/Usb3DebugPortLib/Usb3DebugPortLibDxe.inf
+  Usb3DebugFeaturePkg/Library/Usb3DebugPortLib/Usb3DebugPortLibDxeIoMmu.inf
-- 
2.27.0.windows.1


^ permalink raw reply related	[flat|nested] 86+ messages in thread

* [edk2-devel][edk2-platforms][PATCH V1 20/27] SpcrFeaturePkg: Use MinPlatform build include files
  2022-01-12  2:20 [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency Oram, Isaac W
                   ` (18 preceding siblings ...)
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 19/27] Usb3DebugFeaturePkg: Align with feature design guidelines Oram, Isaac W
@ 2022-01-12  2:20 ` Oram, Isaac W
  2022-01-13  2:50   ` Nate DeSimone
  2022-01-14  6:10   ` Chaganty, Rangasai V
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 21/27] TemplateFeaturePkg: " Oram, Isaac W
                   ` (7 subsequent siblings)
  27 siblings, 2 replies; 86+ messages in thread
From: Oram, Isaac W @ 2022-01-12  2:20 UTC (permalink / raw)
  To: devel; +Cc: Isaac Oram, Sai Chaganty, Liming Gao

Also added feature enable flag

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/Library/SpcrDeviceLib.h |  2 +-
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PostMemory.fdf          | 13 ++++
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PreMemory.fdf           | 11 ++++
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/SpcrFeature.dsc         | 62 --------------------
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Readme.md                       | 12 ++--
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dec              |  6 ++
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dsc              | 18 ++++++
 7 files changed, 55 insertions(+), 69 deletions(-)

diff --git a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/Library/SpcrDeviceLib.h b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/Library/SpcrDeviceLib.h
index 947813815e..2e50270ee6 100644
--- a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/Library/SpcrDeviceLib.h
+++ b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/Library/SpcrDeviceLib.h
@@ -12,7 +12,7 @@
 
 /**
   Get a Serial Port device used for SPCR.
-  The caller should call FreePool() to free the memory if return value is not NULL.
+  The caller should call FreePool () to free the memory if return value is not NULL.
 
   @retval NULL          Can not get device.
   @retval Others        A serial port device path.
diff --git a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PostMemory.fdf b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PostMemory.fdf
new file mode 100644
index 0000000000..f963f567c2
--- /dev/null
+++ b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PostMemory.fdf
@@ -0,0 +1,13 @@
+## @file
+#  FDF file for post-memory SpcrFeature advanced feature.
+#
+#  This file is intended to be included into another package so advanced features
+#  can be conditionally included in the flash image by enabling the respective
+#  feature via its FeaturePCD.
+#
+# Copyright (C) 2022 Intel Corporation.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+##
+
+INF SpcrFeaturePkg/SpcrAcpiDxe/SpcrAcpiDxe.inf
diff --git a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PreMemory.fdf b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PreMemory.fdf
new file mode 100644
index 0000000000..3c461e7fbc
--- /dev/null
+++ b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PreMemory.fdf
@@ -0,0 +1,11 @@
+## @file
+#  FDF file for pre-memory SpcrFeature advanced feature.
+#
+#  This file is intended to be included into another package so advanced features
+#  can be conditionally included in the flash image by enabling the respective
+#  feature via its FeaturePCD.
+#
+# Copyright (C) 2022 Intel Corporation.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+##
diff --git a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/SpcrFeature.dsc b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/SpcrFeature.dsc
index c51e552df5..b06ddf4fe6 100644
--- a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/SpcrFeature.dsc
+++ b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/SpcrFeature.dsc
@@ -25,40 +25,9 @@
   !error "DXE_ARCH must be specified to build this feature!"
 !endif
 
-################################################################################
-#
-# Library Class section - list of all Library Classes needed by this feature.
-#
-################################################################################
-
-!include MdePkg/MdeLibs.dsc.inc
-
 [LibraryClasses]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-  UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
-  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
-  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-  UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
-  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
-  UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
-
-  #######################################
-  # SpcrFeaturePkg Packages
-  #######################################
   SpcrDeviceLib|SpcrFeaturePkg/Library/SpcrDeviceLibNull/SpcrDeviceLibNull.inf
 
-[LibraryClasses.common.DXE_DRIVER]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-
 ################################################################################
 #
 # Component section - list of all components that need built for this feature.
@@ -74,38 +43,7 @@
 #
 ################################################################################
 
-#
-# Feature DXE Components
-#
-
 # @todo: Change below line to [Components.$(DXE_ARCH)] after https://bugzilla.tianocore.org/show_bug.cgi?id=2308
 #        is completed.
 [Components.X64]
-  #####################################
-  # Spcr Feature Package
-  #####################################
-
-  # Add library instances here that are not included in package components and should be tested
-  # in the package build.
-
-  # Add components here that should be included in the package build.
   SpcrFeaturePkg/SpcrAcpiDxe/SpcrAcpiDxe.inf
-  #{
-#    <LibraryClasses>
-#      SpcrDeviceLib|SpcrFeaturePkg/Library/SpcrDeviceLibNull/SpcrDeviceLibNull.inf
-#  }
-
-###################################################################################################
-#
-# BuildOptions Section - Define the module specific tool chain flags that should be used as
-#                        the default flags for a module. These flags are appended to any
-#                        standard flags that are defined by the build process. They can be
-#                        applied for any modules or only those modules with the specific
-#                        module style (EDK or EDKII) specified in [Components] section.
-#
-#                        For advanced features, it is recommended to enable [BuildOptions] in
-#                        the applicable INF file so it does not affect the whole board package
-#                        build when this DSC file is active.
-#
-###################################################################################################
-[BuildOptions]
diff --git a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Readme.md b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Readme.md
index 0a5d48876d..66138ee0f6 100644
--- a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Readme.md
+++ b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Readme.md
@@ -22,10 +22,10 @@ Platform can implement its own library to select the serial port device.
 * SpcrDeviceLibNull
 
 ## SpcrAcpiDxe
-The main driver of convert the serial port device info to ACPI table.
-It will call the function GetSpcrDevice() in the library SpcrDeviceLib to get the serial port device path.
+The main driver of convert the serial port device info into an ACPI table.
+It will call the function GetSpcrDevice () in the library SpcrDeviceLib to get the serial port device path.
 If the serial port device path is not NULL, then use gEfiPciIoProtocolGuid to get the PCI info, and use the gEfiSerialIoProtocolGuid to get the serial port info, such as the baud rate etc.
-If the serial port device is PCI device 00:16:03 (AMT serial over lan PCI device), then will set the BaseAddress.
+If the serial port device is PCI device 00:16:03 (AMT serial over LAN PCI device), then will set the BaseAddress.
 At last fill the ACPI table as Windows required.
 
 ## SpcrDeviceLibNull
@@ -37,19 +37,19 @@ Fill the serial port device info used for SPCR to ACPI table.
 
 ## Configuration
 There is not special configuration.
-But the platform maybe implemente its own SpcrDeviceLib.
+But the platform may implement its own SpcrDeviceLib.
 
 ## Data Flows
 GetSpcrDevice() -> serial port device path -> get PCI info and serial port info -> ACPI table.
 
 ## Control Flows
-GetSpcrDevice() in SpcrDeviceLib -> SpcrAcpiDxe.
+GetSpcrDevice () in SpcrDeviceLib -> SpcrAcpiDxe.
 
 ## Build Flows
 There is not special build flow.
 
 ## Test Point Results
-* Check the output ACPI table.
+There are not test points implemented.
 
 ## Functional Exit Criteria
 * Check the output ACPI table.
diff --git a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dec b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dec
index 03776abf06..b084fad892 100644
--- a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dec
+++ b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dec
@@ -21,6 +21,12 @@
 [Includes]
   Include
 
+[Guids]
+  gSpcrFeaturePkgTokenSpaceGuid = { 0xe978c988, 0xeeba, 0x4671, { 0xb8, 0x0d, 0xcc, 0x8b, 0x89, 0xb5, 0xd1, 0xef }}
+
+[PcdsFeatureFlag]
+  gSpcrFeaturePkgTokenSpaceGuid.PcdSpcrFeatureEnable|FALSE|BOOLEAN|0x00000001
+
 [LibraryClasses]
   ## @libraryclass  Provides an API for get SPCR device.
   #
diff --git a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dsc b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dsc
index 82d2d3ac73..2ee874a58e 100644
--- a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dsc
+++ b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dsc
@@ -24,6 +24,24 @@
   PEI_ARCH                       = IA32
   DXE_ARCH                       = X64
 
+[Packages]
+  MinPlatformPkg/MinPlatformPkg.dec
+
+[PcdsFeatureFlag]
+  #
+  # PCD needed for MinPlatform build includes
+  #
+  gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable                |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable                   |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable                      |FALSE
+
+#
+# Include common libraries
+#
+!include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
+!include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
+!include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
+
 #
 # This package always builds the feature.
 #
-- 
2.27.0.windows.1


^ permalink raw reply related	[flat|nested] 86+ messages in thread

* [edk2-devel][edk2-platforms][PATCH V1 21/27] TemplateFeaturePkg: Use MinPlatform build include files
  2022-01-12  2:20 [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency Oram, Isaac W
                   ` (19 preceding siblings ...)
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 20/27] SpcrFeaturePkg: Use MinPlatform build include files Oram, Isaac W
@ 2022-01-12  2:20 ` Oram, Isaac W
  2022-01-13  2:50   ` Nate DeSimone
  2022-01-14  6:05   ` Chaganty, Rangasai V
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 22/27] AdvancedFeaturePkg: Fix all relative package paths Oram, Isaac W
                   ` (6 subsequent siblings)
  27 siblings, 2 replies; 86+ messages in thread
From: Oram, Isaac W @ 2022-01-12  2:20 UTC (permalink / raw)
  To: devel; +Cc: Isaac Oram, Sai Chaganty, Liming Gao

Extend the template to leverage common library build files.

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/TemplateFeaturePkg/Include/TemplateFeature.dsc |  2 +-
 Features/Intel/TemplateFeaturePkg/TemplateFeaturePkg.dsc      | 18 ++++++++++++++++++
 2 files changed, 19 insertions(+), 1 deletion(-)

diff --git a/Features/Intel/TemplateFeaturePkg/Include/TemplateFeature.dsc b/Features/Intel/TemplateFeaturePkg/Include/TemplateFeature.dsc
index 6742eddcf9..dd6d033aca 100644
--- a/Features/Intel/TemplateFeaturePkg/Include/TemplateFeature.dsc
+++ b/Features/Intel/TemplateFeaturePkg/Include/TemplateFeature.dsc
@@ -73,7 +73,7 @@
 #        is completed.
 [Components.IA32]
   #####################################
-  # <TEMPALTE> Feature Package
+  # <TEMPLATE> Feature Package
   #####################################
 
   # Add library instances here that are not included in package components and should be tested
diff --git a/Features/Intel/TemplateFeaturePkg/TemplateFeaturePkg.dsc b/Features/Intel/TemplateFeaturePkg/TemplateFeaturePkg.dsc
index 0ce8debee0..03657047dc 100644
--- a/Features/Intel/TemplateFeaturePkg/TemplateFeaturePkg.dsc
+++ b/Features/Intel/TemplateFeaturePkg/TemplateFeaturePkg.dsc
@@ -24,6 +24,24 @@
   PEI_ARCH                       = IA32
   DXE_ARCH                       = X64
 
+[Packages]
+  MinPlatformPkg/MinPlatformPkg.dec
+
+[PcdsFeatureFlag]
+  #
+  # PCD needed for MinPlatform build includes
+  #
+  gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable                |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable                   |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable                      |FALSE
+
+#
+# Include common libraries
+#
+!include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
+!include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
+!include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
+
 #
 # This package always builds the feature.
 #
-- 
2.27.0.windows.1


^ permalink raw reply related	[flat|nested] 86+ messages in thread

* [edk2-devel][edk2-platforms][PATCH V1 22/27] AdvancedFeaturePkg: Fix all relative package paths
  2022-01-12  2:20 [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency Oram, Isaac W
                   ` (20 preceding siblings ...)
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 21/27] TemplateFeaturePkg: " Oram, Isaac W
@ 2022-01-12  2:20 ` Oram, Isaac W
  2022-01-13  2:50   ` Nate DeSimone
  2022-01-14  5:39   ` Chaganty, Rangasai V
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 23/27] AdvancedFeaturePkg: Add missing features Oram, Isaac W
                   ` (5 subsequent siblings)
  27 siblings, 2 replies; 86+ messages in thread
From: Oram, Isaac W @ 2022-01-12  2:20 UTC (permalink / raw)
  To: devel; +Cc: Isaac Oram, Sai Chaganty, Liming Gao

Packages should be at the root of a PACKAGES_PATH entry.
At some point, paths were relative to edk2-platforms/Features/Intel
which was functional, but interferes with the proper functioning
of packaging tools.

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc | 15 ++++++++-------
 Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf       | 15 ++++++++-------
 Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf        | 15 ++++++++-------
 3 files changed, 24 insertions(+), 21 deletions(-)

diff --git a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc
index ac9ab80e8e..874b8ce7db 100644
--- a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc
+++ b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc
@@ -14,45 +14,46 @@
 # Debug Advanced Features
 #
 !if gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable == TRUE
-  !include Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc
+  !include AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc
 !endif
+
 !if gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable == TRUE
-  !include Debugging/Usb3DebugFeaturePkg/Include/Usb3DebugFeature.dsc
+  !include Usb3DebugFeaturePkg/Include/Usb3DebugFeature.dsc
 !endif
 
 #
 # Network Advanced Features
 #
 !if gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable == TRUE
-  !include Network/NetworkFeaturePkg/Include/NetworkFeature.dsc
+  !include NetworkFeaturePkg/Include/NetworkFeature.dsc
 !endif
 
 #
 # Out-of-Band Management Advanced Features
 #
 !if gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable == TRUE
-  !include OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc
+  !include IpmiFeaturePkg/Include/IpmiFeature.dsc
 !endif
 
 #
 # Power Management Advanced Features
 #
 !if gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable == TRUE
-  !include PowerManagement/S3FeaturePkg/Include/S3Feature.dsc
+  !include S3FeaturePkg/Include/S3Feature.dsc
 !endif
 
 #
 # System Information Advanced Features
 #
 !if gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable == TRUE
-  !include SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.dsc
+  !include SmbiosFeaturePkg/Include/SmbiosFeature.dsc
 !endif
 
 #
 # User Interface Advanced Features
 #
 !if gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable == TRUE
-  !include UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc
+  !include UserAuthFeaturePkg/Include/UserAuthFeature.dsc
 !endif
 
 !if gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable == TRUE
diff --git a/Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf b/Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf
index c49a0fd875..e710fe7f01 100644
--- a/Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf
+++ b/Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf
@@ -15,45 +15,46 @@
 # Debug Advanced Features
 #
 !if gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable == TRUE
-  !include Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf
+  !include AcpiDebugFeaturePkg/Include/PostMemory.fdf
 !endif
+
 !if gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable == TRUE
-  !include Debugging/Usb3DebugFeaturePkg/Include/PostMemory.fdf
+  !include Usb3DebugFeaturePkg/Include/PostMemory.fdf
 !endif
 
 #
 # Network Advanced Features
 #
 !if gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable == TRUE
-  !include Network/NetworkFeaturePkg/Include/PostMemory.fdf
+  !include NetworkFeaturePkg/Include/PostMemory.fdf
 !endif
 
 #
 # Out-of-Band Management Advanced Features
 #
 !if gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable == TRUE
-  !include OutOfBandManagement/IpmiFeaturePkg/Include/PostMemory.fdf
+  !include IpmiFeaturePkg/Include/PostMemory.fdf
 !endif
 
 #
 # Power Management Advanced Features
 #
 !if gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable == TRUE
-  !include PowerManagement/S3FeaturePkg/Include/PostMemory.fdf
+  !include S3FeaturePkg/Include/PostMemory.fdf
 !endif
 
 #
 # System Information Advanced Features
 #
 !if gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable == TRUE
-  !include SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf
+  !include SmbiosFeaturePkg/Include/PostMemory.fdf
 !endif
 
 #
 # User Interface Advanced Features
 #
 !if gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable == TRUE
-  !include UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf
+  !include UserAuthFeaturePkg/Include/PostMemory.fdf
 !endif
 
 !if gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable == TRUE
diff --git a/Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf b/Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf
index 1b21e96a5f..177aafc1ec 100644
--- a/Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf
+++ b/Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf
@@ -15,45 +15,46 @@
 # Debug Advanced Features
 #
 !if gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable == TRUE
-  !include Debugging/AcpiDebugFeaturePkg/Include/PreMemory.fdf
+  !include AcpiDebugFeaturePkg/Include/PreMemory.fdf
 !endif
+
 !if gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable == TRUE
-  !include Debugging/Usb3DebugFeaturePkg/Include/PreMemory.fdf
+  !include Usb3DebugFeaturePkg/Include/PreMemory.fdf
 !endif
 
 #
 # Network Advanced Features
 #
 !if gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable == TRUE
-  !include Network/NetworkFeaturePkg/Include/PreMemory.fdf
+  !include NetworkFeaturePkg/Include/PreMemory.fdf
 !endif
 
 #
 # Out-of-Band Management Advanced Features
 #
 !if gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable == TRUE
-  !include OutOfBandManagement/IpmiFeaturePkg/Include/PreMemory.fdf
+  !include IpmiFeaturePkg/Include/PreMemory.fdf
 !endif
 
 #
 # Power Management Advanced Features
 #
 !if gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable == TRUE
-  !include PowerManagement/S3FeaturePkg/Include/PreMemory.fdf
+  !include S3FeaturePkg/Include/PreMemory.fdf
 !endif
 
 #
 # System Information Advanced Features
 #
 !if gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable == TRUE
-  !include SystemInformation/SmbiosFeaturePkg/Include/PreMemory.fdf
+  !include SmbiosFeaturePkg/Include/PreMemory.fdf
 !endif
 
 #
 # User Interface Advanced Features
 #
 !if gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable == TRUE
-  !include UserInterface/UserAuthFeaturePkg/Include/PreMemory.fdf
+  !include UserAuthFeaturePkg/Include/PreMemory.fdf
 !endif
 
 !if gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable == TRUE
-- 
2.27.0.windows.1


^ permalink raw reply related	[flat|nested] 86+ messages in thread

* [edk2-devel][edk2-platforms][PATCH V1 23/27] AdvancedFeaturePkg: Add missing features
  2022-01-12  2:20 [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency Oram, Isaac W
                   ` (21 preceding siblings ...)
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 22/27] AdvancedFeaturePkg: Fix all relative package paths Oram, Isaac W
@ 2022-01-12  2:20 ` Oram, Isaac W
  2022-01-13  2:50   ` Nate DeSimone
  2022-01-14  5:36   ` Chaganty, Rangasai V
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 24/27] MinPlatformPkg/Build: Add an include file for the common SPI FV info Oram, Isaac W
                   ` (4 subsequent siblings)
  27 siblings, 2 replies; 86+ messages in thread
From: Oram, Isaac W @ 2022-01-12  2:20 UTC (permalink / raw)
  To: devel; +Cc: Isaac Oram, Sai Chaganty, Liming Gao

The AdvancedFeaturePkg is supposed to include all features.
Add Beep Debug feature to include DSC and FDF.

Order features based on their domains.

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc          | 66 ++++++++++++++++----
 Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc    | 36 ++++++++---
 Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc | 64 +++++++++++++++----
 Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf          | 36 ++++++++---
 Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf           | 36 ++++++++---
 Features/Intel/Readme.md                                          | 49 ++++++++++-----
 6 files changed, 219 insertions(+), 68 deletions(-)

diff --git a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
index 0c7a29cc75..02636da916 100644
--- a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
+++ b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
@@ -36,7 +36,6 @@
 
 !include AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc
 
-
 ################################################################################
 #
 # Advanced Feature Enable section - all advanced features are enabling for the
@@ -44,26 +43,71 @@
 #
 ################################################################################
 [PcdsFeatureFlag]
-  gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable            |TRUE
-  gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable                      |TRUE
-  gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable                |TRUE
-  gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable                          |TRUE
-  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable                  |TRUE
-  gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable            |TRUE
-  gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable    |TRUE
-  gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable                      |TRUE
-  gLogoFeaturePkgTokenSpaceGuid.PcdJpgEnable                              |FALSE
+  #
+  # Debugging features
+  #
+  gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable              |TRUE
+  gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable              |TRUE
+  gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureEnable      |TRUE
+  gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable              |TRUE
+
+  #
+  # Network features
+  #
+  gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable                  |TRUE
+
+  #
+  # OutOfBandManagement features
+  #
+  gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable                        |TRUE
+  gSpcrFeaturePkgTokenSpaceGuid.PcdSpcrFeatureEnable                        |TRUE
+
+  #
+  # PowerManagement features
+  #
+  gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable                            |TRUE
+
+  #
+  # SystemInformation features
+  #
+  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable                    |TRUE
+
+  #
+  # UserInterface features
+  #
+  gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable                        |TRUE
+  gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable      |TRUE
+  gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEnable  |TRUE
+
+#
+# PCD that are required to be set by the build target should be configured here for test purposes
+# These settings are only for the purposes of buildings, boards should follow instructions in Readme files.
+#
+
+[PcdsFixedAtBuild]
+  gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugPortLibInstance|1
+
+[PcdsFeatureFlag]
+  #
+  # MinPlatform common include currently required PCD
+  #
   gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable                |FALSE
   gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable                   |FALSE
   gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable                      |FALSE
 
 #
-# Include common library
+# Include common libraries
 #
 !include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
 !include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
 !include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
 
+#
+# Libraries required to be specified by the build target
+#
+[LibraryClasses.Common]
+  PlatformHookLib|MdeModulePkg/Library/BasePlatformHookLibNull/BasePlatformHookLibNull.inf # Required by BeepDebugFeature
+
 #
 # This package builds all advanced features.
 #
diff --git a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc
index 874b8ce7db..2b36938df6 100644
--- a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc
+++ b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc
@@ -11,51 +11,67 @@
 ##
 
 #
-# Debug Advanced Features
+# Debugging features
 #
 !if gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable == TRUE
   !include AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc
 !endif
 
+!if gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable == TRUE
+  !include BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc
+!endif
+
+!if gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureEnable == TRUE
+  !include PostCodeDebugFeaturePkg/Include/PostCodeDebugFeature.dsc
+!endif
+
 !if gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable == TRUE
   !include Usb3DebugFeaturePkg/Include/Usb3DebugFeature.dsc
 !endif
 
 #
-# Network Advanced Features
+# Network features
 #
 !if gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable == TRUE
   !include NetworkFeaturePkg/Include/NetworkFeature.dsc
 !endif
 
 #
-# Out-of-Band Management Advanced Features
+# OutOfBandManagement features
 #
 !if gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable == TRUE
   !include IpmiFeaturePkg/Include/IpmiFeature.dsc
 !endif
 
+!if gSpcrFeaturePkgTokenSpaceGuid.PcdSpcrFeatureEnable == TRUE
+  !include SpcrFeaturePkg/Include/SpcrFeature.dsc
+!endif
+
 #
-# Power Management Advanced Features
+# PowerManagement features
 #
 !if gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable == TRUE
   !include S3FeaturePkg/Include/S3Feature.dsc
 !endif
 
 #
-# System Information Advanced Features
+# SystemInformation features
 #
 !if gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable == TRUE
   !include SmbiosFeaturePkg/Include/SmbiosFeature.dsc
 !endif
 
 #
-# User Interface Advanced Features
+# UserInterface features
 #
-!if gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable == TRUE
-  !include UserAuthFeaturePkg/Include/UserAuthFeature.dsc
-!endif
-
 !if gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable == TRUE
   !include LogoFeaturePkg/Include/LogoFeature.dsc
 !endif
+
+!if gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable == TRUE
+  !include UserAuthFeaturePkg/Include/UserAuthFeature.dsc
+!endif
+
+!if gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEnable == TRUE
+  !include VirtualKeyboardFeaturePkg/Include/VirtualKeyboardFeature.dsc
+!endif
diff --git a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc
index ad248de800..e214175eda 100644
--- a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc
+++ b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc
@@ -16,28 +16,70 @@
 #
 [Packages]
   MdePkg/MdePkg.dec
+
+  #
+  # Debugging features
+  #
   AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
+  BeepDebugFeaturePkg/BeepDebugFeaturePkg.dec
+  PostCodeDebugFeaturePkg/PostCodeDebugFeaturePkg.dec
   Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dec
+
+  #
+  # Networking features
+  #
   NetworkFeaturePkg/NetworkFeaturePkg.dec
+
+  #
+  # OutOfBandManagement features
+  #
   IpmiFeaturePkg/IpmiFeaturePkg.dec
+  SpcrFeaturePkg/SpcrFeaturePkg.dec
+
+  #
+  # PowerManagement features
+  #
   S3FeaturePkg/S3FeaturePkg.dec
+
+  #
+  # SystemInformation features
+  #
   SmbiosFeaturePkg/SmbiosFeaturePkg.dec
-  UserAuthFeaturePkg/UserAuthFeaturePkg.dec
+
+  #
+  # UserInterface features
+  #
   LogoFeaturePkg/LogoFeaturePkg.dec
-  BeepDebugFeaturePkg/BeepDebugFeaturePkg.dec
-  PostCodeDebugFeaturePkg/PostCodeDebugFeaturePkg.dec
+  UserAuthFeaturePkg/UserAuthFeaturePkg.dec
+  VirtualKeyboardFeaturePkg/VirtualKeyboardFeaturePkg.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
+  gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable              |FALSE
+  gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable              |FALSE
+  gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureEnable      |FALSE
+  gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable              |FALSE
+
+  gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable                  |FALSE
+
+  gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable                        |FALSE
+  gSpcrFeaturePkgTokenSpaceGuid.PcdSpcrFeatureEnable                        |FALSE
+
+  gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable                            |FALSE
+
+  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable                    |FALSE
+
+  gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable                        |FALSE
+  gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable      |FALSE
+  gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEnable  |FALSE
+
+#
+# There seems to be some build parsing odd behavior that requires this PCD to be specified even though
+# the *.fdf that consumes it is dependent on the feature flag.
+# This section is to ensure that boards have these PCD instantiated.
+#
+[PcdsFeatureFlag]
   gLogoFeaturePkgTokenSpaceGuid.PcdJpgEnable                              |FALSE
diff --git a/Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf b/Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf
index e710fe7f01..99089f9a7b 100644
--- a/Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf
+++ b/Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf
@@ -12,51 +12,67 @@
 ##
 
 #
-# Debug Advanced Features
+# Debugging features
 #
 !if gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable == TRUE
   !include AcpiDebugFeaturePkg/Include/PostMemory.fdf
 !endif
 
+!if gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable == TRUE
+  !include BeepDebugFeaturePkg/Include/PostMemory.fdf
+!endif
+
+!if gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureEnable == TRUE
+  !include PostCodeDebugFeaturePkg/Include/PostMemory.fdf
+!endif
+
 !if gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable == TRUE
   !include Usb3DebugFeaturePkg/Include/PostMemory.fdf
 !endif
 
 #
-# Network Advanced Features
+# Network features
 #
 !if gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable == TRUE
   !include NetworkFeaturePkg/Include/PostMemory.fdf
 !endif
 
 #
-# Out-of-Band Management Advanced Features
+# OutOfBandManagement features
 #
 !if gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable == TRUE
   !include IpmiFeaturePkg/Include/PostMemory.fdf
 !endif
 
+!if gSpcrFeaturePkgTokenSpaceGuid.PcdSpcrFeatureEnable == TRUE
+  !include SpcrFeaturePkg/Include/PostMemory.fdf
+!endif
+
 #
-# Power Management Advanced Features
+# PowerManagement features
 #
 !if gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable == TRUE
   !include S3FeaturePkg/Include/PostMemory.fdf
 !endif
 
 #
-# System Information Advanced Features
+# SystemInformation features
 #
 !if gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable == TRUE
   !include SmbiosFeaturePkg/Include/PostMemory.fdf
 !endif
 
 #
-# User Interface Advanced Features
+# UserInterface features
 #
-!if gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable == TRUE
-  !include UserAuthFeaturePkg/Include/PostMemory.fdf
-!endif
-
 !if gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable == TRUE
   !include LogoFeaturePkg/Include/PostMemory.fdf
 !endif
+
+!if gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable == TRUE
+  !include UserAuthFeaturePkg/Include/PostMemory.fdf
+!endif
+
+!if gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEnable == TRUE
+  !include VirtualKeyboardFeaturePkg/Include/PostMemory.fdf
+!endif
diff --git a/Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf b/Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf
index 177aafc1ec..1db258446a 100644
--- a/Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf
+++ b/Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf
@@ -12,51 +12,67 @@
 ##
 
 #
-# Debug Advanced Features
+# Debugging features
 #
 !if gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable == TRUE
   !include AcpiDebugFeaturePkg/Include/PreMemory.fdf
 !endif
 
+!if gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable == TRUE
+  !include BeepDebugFeaturePkg/Include/PreMemory.fdf
+!endif
+
+!if gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureEnable == TRUE
+  !include PostCodeDebugFeaturePkg/Include/PreMemory.fdf
+!endif
+
 !if gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable == TRUE
   !include Usb3DebugFeaturePkg/Include/PreMemory.fdf
 !endif
 
 #
-# Network Advanced Features
+# Network features
 #
 !if gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable == TRUE
   !include NetworkFeaturePkg/Include/PreMemory.fdf
 !endif
 
 #
-# Out-of-Band Management Advanced Features
+# OutOfBandManagement features
 #
 !if gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable == TRUE
   !include IpmiFeaturePkg/Include/PreMemory.fdf
 !endif
 
+!if gSpcrFeaturePkgTokenSpaceGuid.PcdSpcrFeatureEnable == TRUE
+  !include SpcrFeaturePkg/Include/PreMemory.fdf
+!endif
+
 #
-# Power Management Advanced Features
+# PowerManagement features
 #
 !if gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable == TRUE
   !include S3FeaturePkg/Include/PreMemory.fdf
 !endif
 
 #
-# System Information Advanced Features
+# SystemInformation features
 #
 !if gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable == TRUE
   !include SmbiosFeaturePkg/Include/PreMemory.fdf
 !endif
 
 #
-# User Interface Advanced Features
+# UserInterface features
 #
-!if gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable == TRUE
-  !include UserAuthFeaturePkg/Include/PreMemory.fdf
-!endif
-
 !if gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable == TRUE
   !include LogoFeaturePkg/Include/PreMemory.fdf
 !endif
+
+!if gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable == TRUE
+  !include UserAuthFeaturePkg/Include/PreMemory.fdf
+!endif
+
+!if gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEnable == TRUE
+  !include VirtualKeyboardFeaturePkg/Include/PreMemory.fdf
+!endif
diff --git a/Features/Intel/Readme.md b/Features/Intel/Readme.md
index 1a03a4c0d2..cf5ef7b260 100644
--- a/Features/Intel/Readme.md
+++ b/Features/Intel/Readme.md
@@ -195,32 +195,47 @@ At a minimum, an advanced feature must consist of the following elements:
 6. Add the source code for the advanced feature.
     * If the feature is large it is recommended to add libraries in one patch and then modules in a following patch.
 
-7. Update the feature DSC file. This file is in `XxxFeaturePkg/Include/XxxFeature.dsc`.
+7. Update the feature DSC include file. This file is in `XxxFeaturePkg/Include/XxxFeature.dsc`.
     * In most cases, `XxxFeaturePkg/XxxFeaturePkg.dsc` should just `!include XxxFeaturePkg/Include/XxxFeature.dsc`.
+    * This file should not duplicate core content from `MinPlatformPkg/Include/Dsc` except where a change is required by
+    the feature.
 
-8. Update the feature FDF files. These files are `XxxFeaturePkg/Include/PreMemory.fdf` and
+8. Update the feature FDF include files. These files are `XxxFeaturePkg/Include/PreMemory.fdf` and
    `XxxFeaturePkg/Include/PostMemory.fdf`.
     * Each file should contain the feature pre-memory modules and post-memory modules respectively.
 
 9. Build the advanced feature package to ensure the build is successful:
-
     From the workspace root:
-    1. cd edk2-platforms/edk2
-    2. Execute edksetup.bat (Windows) or edksetup.sh (Linux).
-    3. Verify the "WORKSPACE" environment variable is set to the edk2 directory in your workspace.
-    4. Set the "PACKAGES_PATH" environment variable to include the edk2-platforms/Platform/Intel, edk2-platforms/Silicon/Intel,
-       and edk2-platforms/Features/Intel directories.
+    1. Verify the "WORKSPACE" environment variable is set to the parent of edk2 and edk2-platforms directory in your
+       workspace.
+    2. Set the "PACKAGES_PATH" environment variable to include the edk2, edk2-platforms/Platform/Intel,
+       edk2-platforms/Silicon/Intel, and edk2-platforms/Features/Intel directories.
        * Windows example:
-         * set PACKAGES_PATH=c:\Edk2Workspace\edk2-platforms\Platform\Intel;
-                             c:\Edk2Workspace\edk2-platforms\Silicon\Intel;
-                             c:\Edk2Workspace\edk2-platforms\Features\Intel
+         * set PACKAGES_PATH=%WORKSPACE%\edk2;
+                             %WORKSPACE%\edk2-platforms\Platform\Intel;
+                             %WORKSPACE%\edk2-platforms\Silicon\Intel;
+                             %WORKSPACE%\edk2-platforms\Features\Intel;
+                             %WORKSPACE%\edk2-platforms\Features\Intel\Debugging;
+                             %WORKSPACE%\edk2-platforms\Features\Intel\Network;
+                             %WORKSPACE%\edk2-platforms\Features\Intel\OutOfBandManagement;
+                             %WORKSPACE%\edk2-platforms\Features\Intel\PowerManagement;
+                             %WORKSPACE%\edk2-platforms\Features\Intel\SystemInformation;
+                             %WORKSPACE%\edk2-platforms\Features\Intel\UserInterface
        * Linux example:
-         * export PACKAGES_PATH=~/Edk2Workspace/edk2-platforms/Platform/Intel:
+         * export PACKAGES_PATH=~Edk2Workspace/edk2:
+                                ~/Edk2Workspace/edk2-platforms/Platform/Intel:
                                 ~/Edk2Workspace/edk2-platforms/Silicon/Intel:
-                                ~/Edk2Workspace/edk2-platforms/Features/Intel
+                                ~/Edk2Workspace/edk2-platforms/Features/Intel:
+                                ~/Edk2Workspace/edk2-platforms/Features/Intel/Debugging:
+                                ~/Edk2Workspace/edk2-platforms/Features/Intel/Network:
+                                ~/Edk2Workspace/edk2-platforms/Features/Intel/OutOfBandManagement:
+                                ~/Edk2Workspace/edk2-platforms/Features/Intel/PowerManagement:
+                                ~/Edk2Workspace/edk2-platforms/Features/Intel/SystemInformation:
+                                ~/Edk2Workspace/edk2-platforms/Features/Intel/UserInterface
+    3. cd edk2
+    4. Execute edksetup.bat (Windows) or edksetup.sh (Linux).
     5. cd edk2-platforms/Features/Intel
-    6. <pre>build -p FeatureDomainDirectory/XxxFeaturePkg/XxxFeaturePkg.dsc -a IA32 -a X64</pre>
-
+    6. <pre>build -a IA32 -a X64 -p FeatureDomainDirectory/XxxFeaturePkg/XxxFeaturePkg.dsc</pre>
        *Note:* -a specifies the architecture. Typically IA32 and X64 modules are built for 32-bit PEI and 64-bit
        DXE though build for your specific requirements.
 
@@ -228,11 +243,13 @@ At a minimum, an advanced feature must consist of the following elements:
     1. Add `XxxFeaturePkg/Include/XxxFeature.dsc` to `AdvancedFeatures.dsc`
     2. Add `XxxFeaturePkg/Include/PreMemory.fdf` to `AdvancedFeaturePkg/Include/PreMemory.fdf`
     3. Add `XxxFeaturePkg/Include/PostMemory.fdf` to `AdvancedFeaturePkg/Include/PostMemory.fdf`
+    4. Add the `PcdFeatureEnable` to `AdvancedFeaturesPcd.dsc` set to FALSE
+    5. Add the `PcdFeatureEnable` to `AdvancedFeaturePkg.dsc` set to TRUE
 
 11. Build `AdvancedFeaturePkg` to ensure the build is successful.
     1. Follow the steps in step #9 but change the build command to:
 
-    <pre>build -p AdvancedFeaturePkg/AdvancedFeaturePkg.dsc -a IA32 -a X64</pre>
+    <pre>build  -a IA32 -a X64 -p AdvancedFeaturePkg/AdvancedFeaturePkg.dsc</pre>
 
 12. Before sending your patch series, ensure the `Readme.md` file in `XxxFeaturePkg` is completed so others can use it
     during the feature review.
-- 
2.27.0.windows.1


^ permalink raw reply related	[flat|nested] 86+ messages in thread

* [edk2-devel][edk2-platforms][PATCH V1 24/27] MinPlatformPkg/Build: Add an include file for the common SPI FV info
  2022-01-12  2:20 [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency Oram, Isaac W
                   ` (22 preceding siblings ...)
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 23/27] AdvancedFeaturePkg: Add missing features Oram, Isaac W
@ 2022-01-12  2:20 ` Oram, Isaac W
  2022-01-13  2:50   ` Nate DeSimone
  2022-01-14  6:02   ` Chaganty, Rangasai V
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 25/27] WhitleyOpenBoardPkg/Build: Use common SPI FV Header include Oram, Isaac W
                   ` (3 subsequent siblings)
  27 siblings, 2 replies; 86+ messages in thread
From: Oram, Isaac W @ 2022-01-12  2:20 UTC (permalink / raw)
  To: devel; +Cc: Isaac Oram, Sai Chaganty, Nate DeSimone, Liming Gao, Eric Dong

This include file allows for elimination of a lot of duplicate code
and makes FDF files more readable.

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Eric Dong <eric.dong@intel.com>
Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Platform/Intel/MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf | 24 ++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/Platform/Intel/MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf b/Platform/Intel/MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
new file mode 100644
index 0000000000..fdda085a41
--- /dev/null
+++ b/Platform/Intel/MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
@@ -0,0 +1,24 @@
+## @file CommonSpiFvHeaderInfo.fdf
+#
+# @copyright
+# Copyright (C) 2020 - 2021 Intel Corporation
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+##
+
+FvAlignment        = 16         #FV alignment and FV attributes setting.
+ERASE_POLARITY     = 1
+MEMORY_MAPPED      = TRUE
+STICKY_WRITE       = TRUE
+LOCK_CAP           = TRUE
+LOCK_STATUS        = TRUE
+WRITE_DISABLED_CAP = TRUE
+WRITE_ENABLED_CAP  = TRUE
+WRITE_STATUS       = TRUE
+WRITE_LOCK_CAP     = TRUE
+WRITE_LOCK_STATUS  = TRUE
+READ_DISABLED_CAP  = TRUE
+READ_ENABLED_CAP   = TRUE
+READ_STATUS        = TRUE
+READ_LOCK_CAP      = TRUE
+READ_LOCK_STATUS   = TRUE
-- 
2.27.0.windows.1


^ permalink raw reply related	[flat|nested] 86+ messages in thread

* [edk2-devel][edk2-platforms][PATCH V1 25/27] WhitleyOpenBoardPkg/Build: Use common SPI FV Header include
  2022-01-12  2:20 [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency Oram, Isaac W
                   ` (23 preceding siblings ...)
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 24/27] MinPlatformPkg/Build: Add an include file for the common SPI FV info Oram, Isaac W
@ 2022-01-12  2:20 ` Oram, Isaac W
  2022-01-13  2:50   ` Nate DeSimone
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 26/27] AdvancedFeaturePkg/Build: Add FDF to create FV for all features Oram, Isaac W
                   ` (2 subsequent siblings)
  27 siblings, 1 reply; 86+ messages in thread
From: Oram, Isaac W @ 2022-01-12  2:20 UTC (permalink / raw)
  To: devel; +Cc: Isaac Oram, Nate DeSimone, Chasel Chiu

Use the MinPlatformPkg version of CommonSpiFvHeaderInfo.fdf.

Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Chasel Chiu <chasel.chiu@intel.com>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Platform/Intel/WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf | 24 ----------
 Platform/Intel/WhitleyOpenBoardPkg/JunctionCity/PlatformPkg.fdf          | 48 ++++++++++----------
 Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.fdf                       | 48 ++++++++++----------
 3 files changed, 48 insertions(+), 72 deletions(-)

diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf b/Platform/Intel/WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
deleted file mode 100644
index 08f8b95938..0000000000
--- a/Platform/Intel/WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+++ /dev/null
@@ -1,24 +0,0 @@
-## @file CommonSpiFvHeaderInfo.fdf
-#
-# @copyright
-# Copyright 2020 - 2021 Intel Corporation. <BR>
-#
-# SPDX-License-Identifier: BSD-2-Clause-Patent
-##
-
-FvAlignment        = 16         #FV alignment and FV attributes setting.
-ERASE_POLARITY     = 1
-MEMORY_MAPPED      = TRUE
-STICKY_WRITE       = TRUE
-LOCK_CAP           = TRUE
-LOCK_STATUS        = TRUE
-WRITE_DISABLED_CAP = TRUE
-WRITE_ENABLED_CAP  = TRUE
-WRITE_STATUS       = TRUE
-WRITE_LOCK_CAP     = TRUE
-WRITE_LOCK_STATUS  = TRUE
-READ_DISABLED_CAP  = TRUE
-READ_ENABLED_CAP   = TRUE
-READ_STATUS        = TRUE
-READ_LOCK_CAP      = TRUE
-READ_LOCK_STATUS   = TRUE
diff --git a/Platform/Intel/WhitleyOpenBoardPkg/JunctionCity/PlatformPkg.fdf b/Platform/Intel/WhitleyOpenBoardPkg/JunctionCity/PlatformPkg.fdf
index 70ceaa1889..0b919b5ea9 100644
--- a/Platform/Intel/WhitleyOpenBoardPkg/JunctionCity/PlatformPkg.fdf
+++ b/Platform/Intel/WhitleyOpenBoardPkg/JunctionCity/PlatformPkg.fdf
@@ -394,13 +394,13 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
 ################################################################################
 
 [FV.FvSecurityPreMemory]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = 40ab290f-8494-41cf-b302-31b178b4ce0b
 
   !include MinPlatformPkg/Include/Fdf/CoreSecurityPreMemoryInclude.fdf
 
 [FV.FvPreMemory]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = 6522280D-28F9-4131-ADC4-F40EBFA45864
 
   INF  UefiCpuPkg/SecCore/SecCore.inf
@@ -481,13 +481,13 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
   }
 
 [FV.FvAdvancedPreMemory]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = 09f25d44-b2ef-4225-8b2e-e0e094b51775
 
   !include AdvancedFeaturePkg/Include/PreMemory.fdf
 
 [FV.FvBspPreMemory]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = e6c65995-8c2d-4119-a52d-7dbf1acb45a1
 
   FILE FV_IMAGE = 09f25d44-b2ef-4225-8b2e-e0e094b51775 {
@@ -498,11 +498,11 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
 # FvPostMemory includes common hardware, common core variable services, load and invoke DXE etc
 #
 [FV.FvPostMemoryUncompressed]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = B4705B4B-0BE6-4BDB-A83A-51CAD2345CEA
 
 [FV.FvPostMemory]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = 3298afc4-c484-47f1-a65a-5917a54b5e8c
 
   FILE FV_IMAGE = B4705B4B-0BE6-4BDB-A83A-51CAD2345CEA {
@@ -515,11 +515,11 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
 # FvBsp includes board specific components
 #
 [FV.FvBspUncompressed]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = e4c65347-fd90-4143-8a41-113e1015fe07
 
 [FV.FvBsp]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = 9e151cf3-ca90-444f-b33b-a9941cbc772f
 
   FILE FV_IMAGE = e4c65347-fd90-4143-8a41-113e1015fe07 {
@@ -529,7 +529,7 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
   }
 
 [FV.FvUefiBootUncompressed]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = C4D3B0E2-FB26-44f8-A05B-E95895FCB960
 
   INF  MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
@@ -567,7 +567,7 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
 
 
 [FV.FvUefiBoot]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = ab9fe87b-1e37-440c-91cc-9aea03ce7bec
 
   FILE FV_IMAGE = C4D3B0E2-FB26-44f8-A05B-E95895FCB960 {
@@ -577,7 +577,7 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
   }
 
 [FV.FvOsBootUncompressed]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = CDBB7B35-6833-4ed6-9AB2-57D2ACDDF6F0
 
   #
@@ -686,7 +686,7 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
   INF  MinPlatformPkg/Acpi/AcpiSmm/AcpiSmm.inf
 
 [FV.FvOsBoot]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = c7488640-5f51-4969-b63b-89fc369e1725
 
   FILE FV_IMAGE = CDBB7B35-6833-4ed6-9AB2-57D2ACDDF6F0 {
@@ -696,13 +696,13 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
   }
 
 [FV.FvSecuritySilicon]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = AD262F8D-BDED-4668-A8D4-8BC73516652F
 
   !include MinPlatformPkg/Include/Fdf/CoreSecurityLateInclude.fdf
 
 [FV.FvSecurityUncompressed]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = 03E25550-89A5-4ee6-AF60-DB0553D91FD2
 
   FILE FV_IMAGE = 81F80AEA-91EB-4AD9-A563-7CEBAA167B25 {
@@ -712,7 +712,7 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
   }
 
 [FV.FvSecurity]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = 68134833-2ff6-4d22-973b-575d0eae8ffd
 
   FILE FV_IMAGE = 03E25550-89A5-4ee6-AF60-DB0553D91FD2 {
@@ -722,13 +722,13 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
   }
 
 [FV.FvAdvancedUncompressed]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = 70aeaf57-4997-49ce-a4f7-122980745670
 
   !include AdvancedFeaturePkg/Include/PostMemory.fdf
 
 [FV.FvAdvanced]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = f21ee7a1-53a9-453d-aee3-b6a5c25bada5
 
   FILE FV_IMAGE = 70aeaf57-4997-49ce-a4f7-122980745670 {
@@ -741,7 +741,7 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
 # FV for all Microcode Updates.
 #
 [FV.FvMicrocode]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   LOCK_STATUS        = FALSE
   FvNameGuid         = D2C29BA7-3809-480F-9C3D-DE389C61425A
 
@@ -753,7 +753,7 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
 
 
 [FV.FvVPD]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   LOCK_STATUS        = FALSE
   FvNameGuid         = FFC29BA7-3809-480F-9C3D-DE389C61425A
   FILE RAW = FF7DB236-F856-4924-90F8-CDF12FB875F3 {
@@ -764,11 +764,11 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
 # Various Vendor UEFI Drivers (OROMs).
 #
 [FV.FvOpromUncompressed]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = B6EDE22C-DE30-45fa-BB09-CA202C1654B7
 
 [FV.FvOprom]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = 983BCAB5-BF10-42ce-B85D-CB805DCB1EFD
 
   FILE FV_IMAGE = B6EDE22C-DE30-45fa-BB09-CA202C1654B7 {
@@ -780,7 +780,7 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
 [FV.FvWhea]
   BlockSize          = 0x1000
   NumBlocks          = 0x30
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = d6a1cd70-4b33-4994-a6ea-375f2ccc5437
 
 #
@@ -789,11 +789,11 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
 [FV.FvAcm]
   BlockSize          = 0x1000
   NumBlocks          = 0x50
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = 11668261-8A8D-47ca-9893-052D24435E59
 
 [FV.FvFpga]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = 974650E7-6DFE-4998-A124-CEDEC5C9B47D
 
 ################################################################################
diff --git a/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.fdf b/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.fdf
index 14d7502b59..7e2a8b1b9f 100644
--- a/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.fdf
+++ b/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.fdf
@@ -393,11 +393,11 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
 ################################################################################
 
 [FV.FvSecurityPreMemory]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = 40ab290f-8494-41cf-b302-31b178b4ce0b
 
 [FV.FvPreMemory]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = 6522280D-28F9-4131-ADC4-F40EBFA45864
 
   INF  UefiCpuPkg/SecCore/SecCore.inf
@@ -478,11 +478,11 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
   }
 
 [FV.FvAdvancedPreMemory]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = 09f25d44-b2ef-4225-8b2e-e0e094b51775
 
 [FV.FvBspPreMemory]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = e6c65995-8c2d-4119-a52d-7dbf1acb45a1
 
   FILE FV_IMAGE = 09f25d44-b2ef-4225-8b2e-e0e094b51775 {
@@ -493,11 +493,11 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
 # FvPostMemory includes common hardware, common core variable services, load and invoke DXE etc
 #
 [FV.FvPostMemoryUncompressed]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = B4705B4B-0BE6-4BDB-A83A-51CAD2345CEA
 
 [FV.FvPostMemory]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = 3298afc4-c484-47f1-a65a-5917a54b5e8c
 
   FILE FV_IMAGE = B4705B4B-0BE6-4BDB-A83A-51CAD2345CEA {
@@ -510,11 +510,11 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
 # FvBsp includes board specific components
 #
 [FV.FvBspUncompressed]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = e4c65347-fd90-4143-8a41-113e1015fe07
 
 [FV.FvBsp]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = 9e151cf3-ca90-444f-b33b-a9941cbc772f
 
   FILE FV_IMAGE = e4c65347-fd90-4143-8a41-113e1015fe07 {
@@ -524,7 +524,7 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
   }
 
 [FV.FvUefiBootUncompressed]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = C4D3B0E2-FB26-44f8-A05B-E95895FCB960
 
   INF  MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
@@ -556,7 +556,7 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
   INF  BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.inf
 
 [FV.FvUefiBoot]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = ab9fe87b-1e37-440c-91cc-9aea03ce7bec
 
   FILE FV_IMAGE = C4D3B0E2-FB26-44f8-A05B-E95895FCB960 {
@@ -566,7 +566,7 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
   }
 
 [FV.FvOsBootUncompressed]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = CDBB7B35-6833-4ed6-9AB2-57D2ACDDF6F0
 
   #
@@ -673,7 +673,7 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
   INF  MinPlatformPkg/Acpi/AcpiSmm/AcpiSmm.inf
 
 [FV.FvOsBoot]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = c7488640-5f51-4969-b63b-89fc369e1725
 
   FILE FV_IMAGE = CDBB7B35-6833-4ed6-9AB2-57D2ACDDF6F0 {
@@ -683,11 +683,11 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
   }
 
 [FV.FvSecuritySilicon]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = AD262F8D-BDED-4668-A8D4-8BC73516652F
 
 [FV.FvSecurityUncompressed]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = 03E25550-89A5-4ee6-AF60-DB0553D91FD2
 
   FILE FV_IMAGE = 81F80AEA-91EB-4AD9-A563-7CEBAA167B25 {
@@ -697,7 +697,7 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
   }
 
 [FV.FvSecurity]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = 68134833-2ff6-4d22-973b-575d0eae8ffd
 
   FILE FV_IMAGE = 03E25550-89A5-4ee6-AF60-DB0553D91FD2 {
@@ -707,11 +707,11 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
   }
 
 [FV.FvAdvancedUncompressed]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = 70aeaf57-4997-49ce-a4f7-122980745670
 
 [FV.FvAdvanced]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = f21ee7a1-53a9-453d-aee3-b6a5c25bada5
 
   FILE FV_IMAGE = 70aeaf57-4997-49ce-a4f7-122980745670 {
@@ -724,7 +724,7 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
 # FV for all Microcode Updates.
 #
 [FV.FvMicrocode]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   LOCK_STATUS        = FALSE
   FvNameGuid         = D2C29BA7-3809-480F-9C3D-DE389C61425A
 
@@ -736,7 +736,7 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
 
 
 [FV.FvVPD]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   LOCK_STATUS        = FALSE
   FvNameGuid         = FFC29BA7-3809-480F-9C3D-DE389C61425A
   FILE RAW = FF7DB236-F856-4924-90F8-CDF12FB875F3 {
@@ -747,11 +747,11 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
 # Various Vendor UEFI Drivers (OROMs).
 #
 [FV.FvOpromUncompressed]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = B6EDE22C-DE30-45fa-BB09-CA202C1654B7
 
 [FV.FvOprom]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = 983BCAB5-BF10-42ce-B85D-CB805DCB1EFD
 
   FILE FV_IMAGE = B6EDE22C-DE30-45fa-BB09-CA202C1654B7 {
@@ -763,7 +763,7 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
 [FV.FvWhea]
   BlockSize          = 0x1000
   NumBlocks          = 0x30
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = d6a1cd70-4b33-4994-a6ea-375f2ccc5437
 
 #
@@ -772,11 +772,11 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
 [FV.FvAcm]
   BlockSize          = 0x1000
   NumBlocks          = 0x50
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = 11668261-8A8D-47ca-9893-052D24435E59
 
 [FV.FvFpga]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = 974650E7-6DFE-4998-A124-CEDEC5C9B47D
 
 ################################################################################
-- 
2.27.0.windows.1


^ permalink raw reply related	[flat|nested] 86+ messages in thread

* [edk2-devel][edk2-platforms][PATCH V1 26/27] AdvancedFeaturePkg/Build: Add FDF to create FV for all features
  2022-01-12  2:20 [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency Oram, Isaac W
                   ` (24 preceding siblings ...)
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 25/27] WhitleyOpenBoardPkg/Build: Use common SPI FV Header include Oram, Isaac W
@ 2022-01-12  2:20 ` Oram, Isaac W
  2022-01-13  2:47   ` Nate DeSimone
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 27/27] WhitleyOpenBoardPkg/Build: Enable Features/Intel features Oram, Isaac W
  2022-01-13  2:47 ` [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency Nate DeSimone
  27 siblings, 1 reply; 86+ messages in thread
From: Oram, Isaac W @ 2022-01-12  2:20 UTC (permalink / raw)
  To: devel; +Cc: Isaac Oram, Sai Chaganty, Liming Gao

This produces three FV and no FD.
FvAdvancedPreMemory.fv contains PEIM for pre-memory use.
FvAdvancedUncompressed.fv contains post memory PEIM and drivers for DXE
and SMM.
FvAdvanced.fv contains the compressed FvAdvancedUncompressed.fv in an
FV file format as is common practice.

These FV are not expected to be used as is, but are needed to test the
individual features for things like filename collisions.  Some features
require build customization so binary reuse is not feasible at this time.

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc |  1 +
 Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.fdf | 49 ++++++++++++++++++++
 2 files changed, 50 insertions(+)

diff --git a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
index 02636da916..28530b8c67 100644
--- a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
+++ b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
@@ -29,6 +29,7 @@
   SKUID_IDENTIFIER                    = DEFAULT
   PEI_ARCH                            = IA32
   DXE_ARCH                            = X64
+  FLASH_DEFINITION                    = AdvancedFeaturePkg/AdvancedFeaturePkg.fdf
 
 [Packages]
   MdePkg/MdePkg.dec
diff --git a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.fdf b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.fdf
new file mode 100644
index 0000000000..76a02c5d1c
--- /dev/null
+++ b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.fdf
@@ -0,0 +1,49 @@
+## @file
+# FDF file generating AdvancedFeature FV for inclusion in a MinPlatform design.
+#
+# There are three FV produced, FvAdvancedPreMemory.fv, FvAdvancedUncompressed.fv, and
+# FvAdvanced.fv.  The sizes are arbitrary as these are not expected to be used as is
+# in today's usages.  Boards will tune FV by selecting or deseleting features and building.
+#
+# @copyright
+# Copyright (C) 2022 Intel Corporation
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+##
+
+[Defines]
+  DEFINE UNCOMPRESSED_FV_ADVANCED_FILENAME = 6d606b5c-2d45-4705-a700-73324306be06
+
+[FV.FvAdvancedPreMemory]
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  FvNameGuid         = ea9da344-a7f3-468c-ae84-2d22fc03b28e
+
+  !include AdvancedFeaturePkg/Include/PreMemory.fdf
+
+[FV.FvAdvancedUncompressed]
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  FvNameGuid         = $(UNCOMPRESSED_FV_ADVANCED_FILENAME)
+
+  !include AdvancedFeaturePkg/Include/PostMemory.fdf
+
+[FV.FvAdvanced]
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  FvNameGuid         = 445b121d-28d6-4801-8958-8253cf426cf7
+
+  FILE FV_IMAGE = $(UNCOMPRESSED_FV_ADVANCED_FILENAME) {
+    SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE {
+      SECTION FV_IMAGE = FvAdvancedUncompressed
+    }
+  }
+
+
+################################################################################
+#
+# Rules are use with the [FV] section's module INF type to define
+# how an FFS file is created for a given INF file. The following Rule are the default
+# rules for the different module type. User can add the customized rules to define the
+# content of the FFS file.
+#
+################################################################################
+
+!include MinPlatformPkg/Include/Fdf/RuleInclude.fdf
-- 
2.27.0.windows.1


^ permalink raw reply related	[flat|nested] 86+ messages in thread

* [edk2-devel][edk2-platforms][PATCH V1 27/27] WhitleyOpenBoardPkg/Build: Enable Features/Intel features
  2022-01-12  2:20 [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency Oram, Isaac W
                   ` (25 preceding siblings ...)
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 26/27] AdvancedFeaturePkg/Build: Add FDF to create FV for all features Oram, Isaac W
@ 2022-01-12  2:20 ` Oram, Isaac W
  2022-01-13  2:51   ` Nate DeSimone
  2022-01-13  2:47 ` [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency Nate DeSimone
  27 siblings, 1 reply; 86+ messages in thread
From: Oram, Isaac W @ 2022-01-12  2:20 UTC (permalink / raw)
  To: devel; +Cc: Isaac Oram, Nate DeSimone, Chasel Chiu

This enables Whitley as a test vehicle for features.
These are not expected to be fully functional at this time.
Specifically UserAuthentication causes a boot failure and the others
have only been verified to be built and dispatched, not ported to
the Whitley reference platform hardware.

Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Chasel Chiu <chasel.chiu@intel.com>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc | 44 ++++++++++++++++++++
 Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.fdf |  6 ++-
 2 files changed, 49 insertions(+), 1 deletion(-)

diff --git a/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc b/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc
index f07b0a8ccf..42680254d1 100644
--- a/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc
+++ b/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc
@@ -39,6 +39,50 @@
   DEFINE IIO_INSTANCE           = UnknownCpu
 !endif
 
+!include AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc
+
+[PcdsFixedAtBuild]
+  gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugPortLibInstance|1
+
+[PcdsFeatureFlag]
+  #
+  # Debugging features
+  #
+  gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable              |FALSE
+  gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable              |FALSE
+  gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureEnable      |FALSE
+  gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable              |FALSE
+
+  #
+  # Network features
+  #
+  gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable                  |FALSE
+
+  #
+  # OutOfBandManagement features
+  #
+  gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable                        |FALSE
+  gSpcrFeaturePkgTokenSpaceGuid.PcdSpcrFeatureEnable                        |FALSE
+
+  #
+  # PowerManagement features
+  #
+  gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable                            |FALSE
+
+  #
+  # SystemInformation features
+  #
+  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable                    |FALSE
+
+  #
+  # UserInterface features
+  #
+  gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable                        |FALSE
+  gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable      |FALSE
+  gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEnable  |FALSE
+
+!include AdvancedFeaturePkg/Include/AdvancedFeatures.dsc
+
   #
   # Platform On/Off features are defined here
   #
diff --git a/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.fdf b/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.fdf
index 7e2a8b1b9f..45460570d9 100644
--- a/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.fdf
+++ b/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.fdf
@@ -84,7 +84,7 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
   SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspSSize          = 0x00040000 # Size must match WhitleyFspPkg.fdf content
   SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspMSize          = 0x00221000 # Size must match WhitleyFspPkg.fdf content
   SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspTSize          = 0x00006000 # Size must match WhitleyFspPkg.fdf content
-  SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvBspPreMemorySize  = 0x00001000
+  SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvBspPreMemorySize  = 0x00010000
   SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvPreMemorySize     = gCpPlatFlashTokenSpaceGuid.PcdFlashFdSecPeiSize - gMinPlatformPkgTokenSpaceGuid.PcdFlashFvBspSize - gMinPlatformPkgTokenSpaceGuid.PcdFlashFvPostMemorySize - gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspSSize - gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspMSize - gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspTSize - gMinPlatformPkgTokenSpaceGuid.PcdFlashFvBspPreMemorySize
 
   #
@@ -481,6 +481,8 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
   !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = 09f25d44-b2ef-4225-8b2e-e0e094b51775
 
+  !include AdvancedFeaturePkg/Include/PreMemory.fdf
+
 [FV.FvBspPreMemory]
   !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = e6c65995-8c2d-4119-a52d-7dbf1acb45a1
@@ -710,6 +712,8 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
   !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = 70aeaf57-4997-49ce-a4f7-122980745670
 
+  !include AdvancedFeaturePkg/Include/PostMemory.fdf
+
 [FV.FvAdvanced]
   !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid         = f21ee7a1-53a9-453d-aee3-b6a5c25bada5
-- 
2.27.0.windows.1


^ permalink raw reply related	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency
  2022-01-12  2:20 [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency Oram, Isaac W
                   ` (26 preceding siblings ...)
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 27/27] WhitleyOpenBoardPkg/Build: Enable Features/Intel features Oram, Isaac W
@ 2022-01-13  2:47 ` Nate DeSimone
  2022-01-13  3:15   ` Oram, Isaac W
  27 siblings, 1 reply; 86+ messages in thread
From: Nate DeSimone @ 2022-01-13  2:47 UTC (permalink / raw)
  To: Oram, Isaac W, devel@edk2.groups.io
  Cc: Chaganty, Rangasai V, Gao, Liming, Dong, Eric, Tan, Ming,
	Chiu, Chasel, Bi, Dandan, Shindo, Miki, Abbas, Mohamed,
	KARPAGAVINAYAGAM, MANICKAVASAKAM

Hi Issac,

Thank you for doing this cleanup work. I have some comments for you. I have provided a summary of my feedback below:

PATCH 01/27

* Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc

Line 69: [Components.IA32] should be changed to [Components.$(PEI_ARCH)]
Line 83: [Components.X64] should be changed to [Components.$(DXE_ARCH)]

Note: These comments can also be addressed by restoring the @todo comment stating that these changes still need to be done (which you deleted.)

PATCH 18/27

* Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dsc

Line 33: [PcdsFeatureFlag.X64] should be changed to [PcdsFeatureFlag.$(DXE_ARCH)]

Note: This comment can also be addressed by adding a @todo comment stating that this change still needs to be done.

PATCH 19/27

* Features/Intel/Debugging/Usb3DebugFeaturePkg/Include/Usb3DebugFeature.dsc

Line 35: Typo here. Usb3DebugPortParamLibo should be Usb3DebugPortParamLib.

* Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dsc

Line 40: Did you test compilation for the Usb3DebugFeaturePkg? I've generally run into issues when a components sections does not specify a machine architecture through some sort of means.

PATCH 26/27

Since FvAdvanced is post-memory and not covered by the boot guard IBB, I suspect we should probably also support optional signing of that FV.

Thanks,
Nate

-----Original Message-----
From: Oram, Isaac W <isaac.w.oram@intel.com> 
Sent: Tuesday, January 11, 2022 6:20 PM
To: devel@edk2.groups.io
Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Dong, Eric <eric.dong@intel.com>; Tan, Ming <ming.tan@intel.com>; Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>; Chiu, Chasel <chasel.chiu@intel.com>; Bi, Dandan <dandan.bi@intel.com>; Shindo, Miki <miki.shindo@intel.com>; Abbas, Mohamed <mohamed.abbas@intel.com>; KARPAGAVINAYAGAM, MANICKAVASAKAM <manickavasakamk@ami.com>
Subject: [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency

This series addresses inconsistencies in feature implementation and use. Some inconsistencies are just conventions of the feature design/template/convention.  Some are inconsistency with feature design intent that negatively affect the usability of the features and the amount of work required from board porting engineers.

Some features were missing feature enable flags.
Some features had non-functional standalone builds.
Many features were implemented to include common core build content in their feature include files.
Updated some of the Readme content.
Added AdvancedFeaturePkg.fdf to build all feature content to support verifying no build time issues between features.
Removed duplicate and unused content from build files.
Modified the TemplateFeaturePkg to use the common MinPlatform include content.

Removed all instances where features were relative to Features/Intel and made them relative to the package roots.
This does mean PACKAGES_PATH may need to be extended for all the feature domains.  Debugging, PowerManagement, etc.
However, it should enable packaging tools to function properly as the relative paths violate spec.

Use of the common MinPlatformPkg build includes does increase the build time for each individual feature in standalone build modes. It does not negatively impact board or AdvancedFeaturePkg builds as the common content is only built once. Part of MinPlatform arch intent is to reduce cognitive complexity, so the simpler build is more valuable than fast build time.

Cc: Sai Chaganty <mailto:rangasai.v.chaganty@intel.com>
Cc: Liming Gao <mailto:gaoliming@byosoft.com.cn>
Cc: Eric Dong <mailto:eric.dong@intel.com>
Cc: Ming Tan <mailto:ming.tan@intel.com>
Cc: Nate DeSimone <mailto:nathaniel.l.desimone@intel.com>
Cc: Chasel Chiu <mailto:chasel.chiu@intel.com>
Cc: Dandan Bi <mailto:dandan.bi@intel.com>
Cc: Miki Shindo <mailto:miki.shindo@intel.com>
Cc: Mohamed Abbas <mailto:mohamed.abbas@intel.com>
Cc: Manickavasakam Karpagavinayagam <mailto:manickavasakamk@ami.com>

Signed-off-by: Isaac Oram <mailto:isaac.w.oram@intel.com>

Isaac Oram (27):
  BeepDebugFeaturePkg: Use MinPlatformPkg build include files
  BeepDebugFeaturePkg: Fix all relative package paths
  AcpiDebugFeaturePkg: Fix all relative package paths
  IpmiFeaturePkg: Fix all relative package paths
  IpmiFeaturePkg: Fix build errors
  S3FeaturePkg: Fix all relative package paths
  S3FeaturePkg: Use MinPlatformPkg build include files
  SmbiosFeaturePkg: Fix all relative package paths
  SmbiosFeaturePkg: Use MinPlatformPkg build include files
  UserAuthFeaturePkg: Fix all relative package paths
  UserAuthFeaturePkg: Use MinPlatformPkg build include files
  VirtualKeyboardFeaturePkg: Fix all relative package paths
  VirtualKeyboardFeaturePkg: Use MinPlatformPkg build include files
  VirtualKeyboardFeaturePkg: Add feature enable PCD
  NetworkFeaturePkg: Use MinPlatformPkg build include files
  LogoFeaturePkg: Use MinPlatformPkg build include files
  PostCodeDebugFeaturePkg: Complete as an advanced feature
  AcpiDebugFeaturePkg: Use MinPlatformPkg build include files
  Usb3DebugFeaturePkg: Align with feature design guidelines
  SpcrFeaturePkg: Use MinPlatform build include files
  TemplateFeaturePkg: Use MinPlatform build include files
  AdvancedFeaturePkg: Fix all relative package paths
  AdvancedFeaturePkg: Add missing features
  MinPlatformPkg/Build: Add an include file for the common SPI FV info
  WhitleyOpenBoardPkg/Build: Use common SPI FV Header include
  AdvancedFeaturePkg/Build: Add FDF to create FV for all features
  WhitleyOpenBoardPkg/Build: Enable Features/Intel features

 Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc                                                                  |  67 +++++-
 Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.fdf                                                                  |  49 +++++
 Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc                                                            |  49 +++--
 Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc                                                         |  64 +++++-
 Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf                                                                  |  49 +++--
 Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf                                                                   |  49 +++--
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf                                             |   2 +-
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf                                             |   2 +-
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec                                                      |   2 +-
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dsc                                                      |  21 ++
 Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc                                                 |  74 +------
 Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf                                                       |   4 +-
 Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dec                                                      |   7 +-
 Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dsc                                                      |  28 +++
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc                                                 | 222 ++++++-------------
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/Library/BeepLib.h                                                    |   6 +-
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PostMemory.fdf                                                       |  14 ++
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PreMemory.fdf                                                        |  13 ++
 Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/PeiBeepStatusCodeHandlerLib.inf             |   5 +-
 Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf      |   3 -
 Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/SmmBeepStatusCodeHandlerLib.inf             |   3 -
 Features/Intel/Debugging/BeepDebugFeaturePkg/Readme.md                                                                    |  91 +++++---
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostCodeDebugFeature.dsc                                         | 231 +++++---------------
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostMemory.fdf                                                   |  14 ++
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PreMemory.fdf                                                    |  13 ++
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Library/PostCodeStatusCodeHandlerLib/PeiPostCodeStatusCodeHandlerLib.inf |   2 +-
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/PostCodeDebugFeaturePkg.dec                                              |  11 +
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/PostCodeDebugFeaturePkg.dsc                                              |  30 +++
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Readme.md                                                                |  31 ++-
 Features/Intel/Debugging/Usb3DebugFeaturePkg/Include/Usb3DebugFeature.dsc                                                 | 131 ++---------
 Features/Intel/Debugging/Usb3DebugFeaturePkg/Readme.md                                                                    |  50 +++--
 Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dec                                                      |  14 +-
 Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dsc                                                      |  18 ++
 Features/Intel/Network/NetworkFeaturePkg/Include/NetworkFeature.dsc                                                       |  89 +-------
 Features/Intel/Network/NetworkFeaturePkg/NetworkFeaturePkg.dsc                                                            |  18 ++
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcAcpi/BmcAcpi.inf                                                     |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/BmcElog.inf                                                     |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbDxe.inf                                                          |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbPei.inf                                                          |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dxe/GenericIpmi.inf                                         |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Pei/PeiGenericIpmi.inf                                      |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Smm/SmmGenericIpmi.inf                                      |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc                                                 |  90 ++------
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMemory.fdf                                                  |  16 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PreMemory.fdf                                                   |   6 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dsc                                                      |  18 ++
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFru/IpmiFru.inf                                                     |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/DxeIpmiInit.inf                                                |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/PeiIpmiInit.inf                                                |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBaseLib/IpmiBaseLib.inf                                     |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBaseLibNull/IpmiBaseLibNull.inf                             |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiCommandLib/IpmiCommandLib.inf                               |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiPlatformHookLibNull/IpmiPlatformHookLibNull.inf             |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/PeiIpmiBaseLib/PeiIpmiBaseLib.inf                               |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/SmmIpmiBaseLib/SmmIpmiBaseLib.inf                               |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/OsWdt/OsWdt.inf                                                         |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/SolStatus/SolStatus.inf                                                 |   2 +-
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/Library/SpcrDeviceLib.h                                         |   2 +-
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PostMemory.fdf                                                  |  13 ++
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PreMemory.fdf                                                   |  11 +
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/SpcrFeature.dsc                                                 |  62 ------
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Readme.md                                                               |  12 +-
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dec                                                      |   6 +
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dsc                                                      |  18 ++
 Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf                                                         |   2 +-
 Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc                                                         |  74 +------
 Features/Intel/PowerManagement/S3FeaturePkg/S3FeaturePkg.dsc                                                              |  18 ++
 Features/Intel/PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf                                                               |   2 +-
 Features/Intel/Readme.md                                                                                                  |  49 +++--
 Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf                                                  |   2 +-
 Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.dsc                                               |  54 +----
 Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf                                       |   2 +-
 Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec                                                    |  10 +-
 Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dsc                                                    |  18 ++
 Features/Intel/TemplateFeaturePkg/Include/TemplateFeature.dsc                                                             |   2 +-
 Features/Intel/TemplateFeaturePkg/TemplateFeaturePkg.dsc                                                                  |  18 ++
 Features/Intel/UserInterface/LogoFeaturePkg/Include/LogoFeature.dsc                                                       |  69 +-----
 Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dec                                                            |   2 -
 Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dsc                                                            |  38 +++-
 Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf                                                    |   6 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc                                               |  92 +-------
 Features/Intel/UserInterface/UserAuthFeaturePkg/Library/PlatformPasswordLibNull/PlatformPasswordLibNull.inf               |   2 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/Library/UserPasswordLib/UserPasswordLib.inf                               |   2 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/Library/UserPasswordUiLib/UserPasswordUiLib.inf                           |   2 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dsc                                                    |  18 ++
 Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dxe.inf                       |   2 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.inf                        |   2 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSmm.inf                        |   2 +-
 Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/PostMemory.fdf                                             |   2 +-
 Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/VirtualKeyboardFeature.dsc                                 |  64 +-----
 Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardFeaturePkg.dec                                      |   7 +-
 Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardFeaturePkg.dsc                                      |  18 ++
 Platform/Intel/{WhitleyOpenBoardPkg => MinPlatformPkg}/Include/Fdf/CommonSpiFvHeaderInfo.fdf                              |   2 +-
 Platform/Intel/WhitleyOpenBoardPkg/JunctionCity/PlatformPkg.fdf                                                           |  48 ++--
 Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc                                                                        |  44 ++++
 Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.fdf                                                                        |  54 ++---
 96 files changed, 1159 insertions(+), 1334 deletions(-)  create mode 100644 Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.fdf
 create mode 100644 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PostMemory.fdf
 create mode 100644 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PreMemory.fdf
 create mode 100644 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostMemory.fdf
 create mode 100644 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PreMemory.fdf
 create mode 100644 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PostMemory.fdf
 create mode 100644 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PreMemory.fdf
 rename Platform/Intel/{WhitleyOpenBoardPkg => MinPlatformPkg}/Include/Fdf/CommonSpiFvHeaderInfo.fdf (88%)

--
2.27.0.windows.1

^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 01/27] BeepDebugFeaturePkg: Use MinPlatformPkg build include files
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 01/27] BeepDebugFeaturePkg: Use MinPlatformPkg build include files Oram, Isaac W
@ 2022-01-13  2:47   ` Nate DeSimone
  2022-01-19 23:30   ` Nate DeSimone
  1 sibling, 0 replies; 86+ messages in thread
From: Nate DeSimone @ 2022-01-13  2:47 UTC (permalink / raw)
  To: devel@edk2.groups.io, Oram, Isaac W
  Cc: Chaganty, Rangasai V, Gao, Liming, Dong, Eric, Tan, Ming

Hi Isaac,

Comments inline.

Thanks,
Nate

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Oram,
> Isaac W
> Sent: Tuesday, January 11, 2022 6:20 PM
> To: devel@edk2.groups.io
> Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Chaganty, Rangasai V
> <rangasai.v.chaganty@intel.com>; Gao, Liming
> <gaoliming@byosoft.com.cn>; Dong, Eric <eric.dong@intel.com>; Tan, Ming
> <ming.tan@intel.com>
> Subject: [edk2-devel][edk2-platforms][PATCH V1 01/27]
> BeepDebugFeaturePkg: Use MinPlatformPkg build include files
> 
> The BeepDebugFeaturePkg was malformed and did not build anything and
> thus wasn't testable in standalone build.
> 
> Added
> gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable
> to properly control the advanced feature inclusion.
> 
> Use the standard MinPlatform includes for core libraries. This increases the
> build time, but reduces complexity when integrating into a board build. Board
> build optimization is more valuable than standalone build optimization.
> 
> Enable standalone build to test the library build and the component builds
> using edk2 StatusCodeHandler drivers.
> 
> Add unique file names for the StatusCodeHandler components to avoid
> collisions with any existing board handlers when incorporated in board DSC
> and FDF files.
> 
> Add PreMemory.fdf and PostMemory.fdf content for including in board FDF
> or AdvancedFeaturePkg in the future.
> 
> Removed unused sections in DSC and FDF to reduce file clutter.
> 
> Removed stale file header content from prior proprietary licensing.
> 
> Moved feature customization and common include into the package DSC file
> to reduce board complexity when BeepDebugFeature.dsc is included.
> 
> Removed the FixedAtBuild build control for beep feature as it would be
> redundant with the FeatureFlag control of the whole feature. Build control is
> via PcdBeepDebugFeatureEnable and dynamic control is via
> PcdStatusCodeUseBeep.
> 
> Improved Readme content, format, and coding style use.
> 
> Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> Cc: Eric Dong <eric.dong@intel.com>
> Cc: Ming Tan <ming.tan@intel.com>
> 
> Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
> ---
> 
> Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.d
> ec                                                 |   7 +-
> 
> Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.d
> sc                                                 |  28 +++
> 
> Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeat
> ure.dsc                                            | 222 ++++++--------------
> 
> Features/Intel/Debugging/BeepDebugFeaturePkg/Include/Library/BeepLib.
> h                                               |   6 +-
>  Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PostMemory.fdf
> |  14 ++
>  Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PreMemory.fdf
> |  13 ++
> 
> Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCode
> HandlerLib/PeiBeepStatusCodeHandlerLib.inf        |   5 +-
> 
> Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCode
> HandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf |   3 -
> 
> Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCode
> HandlerLib/SmmBeepStatusCodeHandlerLib.inf        |   3 -
>  Features/Intel/Debugging/BeepDebugFeaturePkg/Readme.md
> |  91 +++++---
>  10 files changed, 186 insertions(+), 206 deletions(-)
> 
> diff --git
> a/Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg
> .dec
> b/Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg
> .dec
> index 4f4b36b091..d90611da51 100644
> ---
> a/Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg
> .dec
> +++
> b/Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg
> .d
> +++ ec
> @@ -31,6 +31,9 @@
>  [Guids]
>    gBeepDebugFeaturePkgTokenSpaceGuid  =  {0x54f56fb5, 0xea0e, 0x4518,
> {0xa0, 0x3e, 0x1b, 0xeb, 0x56, 0x94, 0xd2, 0x16}}
> 
> -[PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]
> +[PcdsFeatureFlag]
> +
> +gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable|FA
> LSE|BOOL
> +EAN|0x00000000
> +
> +[PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]
>    # Beep is a legacy feature, disabled it by default
> -
> gBeepDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUseBeep|FALSE|B
> OOLEAN|0x00000001
> +
> +
> gBeepDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUseBeep|TRUE|BO
> OLEAN|0
> + x00000001
> diff --git
> a/Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg
> .dsc
> b/Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg
> .dsc
> index 47254f9974..56cad020bf 100644
> ---
> a/Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg
> .dsc
> +++
> b/Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg
> .d
> +++ sc
> @@ -24,6 +24,34 @@
>    PEI_ARCH                       = IA32
>    DXE_ARCH                       = X64
> 
> +[Packages]
> +  MinPlatformPkg/MinPlatformPkg.dec
> +  BeepDebugFeaturePkg/BeepDebugFeaturePkg.dec
> +
> +[PcdsFeatureFlag]
> +  #
> +  # PCD needed for MinPlatform build includes
> +  #
> +  gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable
> |FALSE
> +  gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable
> |FALSE
> +  gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable
> |FALSE
> +
> +[PcdsDynamicExDefault]
> +  gBeepDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUseBeep|TRUE
> +
> +#
> +# Include common libraries
> +#
> +!include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
> +!include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
> +!include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
> +
> +[LibraryClasses.Common]
> +  #
> +  # Required by common status code handler infrastructure
> +  #
> +
> +PlatformHookLib|MdeModulePkg/Library/BasePlatformHookLibNull/BasePl
> atfo
> +rmHookLibNull.inf
> +
>  #
>  # This package always builds the feature.
>  #
> diff --git
> a/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFe
> ature.dsc
> b/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFe
> ature.dsc
> index b24b3e458f..251de6932b 100644
> ---
> a/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFe
> ature.dsc
> +++
> b/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFe
> at
> +++ ure.dsc
> @@ -18,97 +18,16 @@
>  #
> 
> ##########################################################
> ######################
>  [Defines]
> -!ifndef $(PEI_ARCH)
> -  !error "PEI_ARCH must be specified to build this feature!"
> -!endif
> -!ifndef $(DXE_ARCH)
> -  !error "DXE_ARCH must be specified to build this feature!"
> -!endif
> -
> -
> ##########################################################
> ######################
> -#
> -# PCD Section - list of PCD Entries modified by the feature.
> -#
> -
> ##########################################################
> ######################
> -
> -# Unmark the following and StatusCodeHandler.efi to build the .dsc file
> directly -#[PcdsDynamicDefault] -#
> gBeepDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUseBeep|TRUE
> -
> -
> ##########################################################
> ######################
> -#
> -# Library Class section - list of all Library Classes needed by this feature.
> -#
> -
> ##########################################################
> ######################
> -
> -!include MdePkg/MdeLibs.dsc.inc
> -
> -[LibraryClasses]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
> -  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
> -  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
> -  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
> -  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
> -  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
> -  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
> -  PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
> -  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
> -
> TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTem
> plate.inf
> -
> UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBo
> otServicesTableLib.inf
> -
> UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntry
> Point.inf
> -  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
> -
> UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib
> /UefiRuntimeServicesTableLib.inf
> -  PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
> -
> -[LibraryClasses.common.PEIM]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -  HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
> -
> MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemory
> AllocationLib.inf
> -
> PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/P
> eiServicesTablePointerLibIdt.inf
> -
> -
> [LibraryClasses.IA32.PEIM,LibraryClasses.IA32.PEI_CORE,LibraryClasses.IA32.
> SEC]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -
> ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiR
> eportStatusCodeLib.inf
> -
> -[LibraryClasses.common.DXE_DRIVER]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
> -
> MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemo
> ryAllocationLib.inf
> -
> -[LibraryClasses.common.DXE_RUNTIME_DRIVER]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
> -
> MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemo
> ryAllocationLib.inf
> -  UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
> -
> ReportStatusCodeLib|MdeModulePkg/Library/RuntimeDxeReportStatusCod
> eLib/RuntimeDxeReportStatusCodeLib.inf
> -
> -[LibraryClasses.common.UEFI_DRIVER]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
> -
> MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemo
> ryAllocationLib.inf
> -
> -[LibraryClasses.X64.DXE_SMM_DRIVER]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -
> SmmServicesTableLib|MdePkg/Library/SmmServicesTableLib/SmmServicesT
> ableLib.inf
> -
> MemoryAllocationLib|MdePkg/Library/SmmMemoryAllocationLib/SmmMe
> moryAllocationLib.inf
> -  SmmIoLib|MdePkg/Library/SmmIoLib/SmmIoLib.inf
> -  SmmMemLib|MdePkg/Library/SmmMemLib/SmmMemLib.inf
> -
> ReportStatusCodeLib|MdeModulePkg/Library/SmmReportStatusCodeLib/S
> mmReportStatusCodeLib.inf
> +  !ifndef $(PEI_ARCH)
> +    !error "PEI_ARCH must be specified to build this feature!"
> +  !endif
> +  !ifndef $(DXE_ARCH)
> +    !error "DXE_ARCH must be specified to build this feature!"
> +  !endif
> +
> +  DEFINE BEEP_PEIM_FILENAME  = b2356504-8ea3-42bd-912a-4b331990644a
> +  DEFINE BEEP_DXE_FILENAME   = f1211fa9-d83d-4c79-8726-3afaebba1070
> +  DEFINE BEEP_SMM_FILENAME   = a82cd452-0f17-4417-b8be-bb8cfdf9fa26
> 
> 
> ##########################################################
> ######################
>  #
> @@ -128,77 +47,60 @@
>  # Feature PEI Components
>  #
> 
> -# @todo: Change below line to [Components.$(PEI_ARCH)] after
> https://bugzilla.tianocore.org/show_bug.cgi?id=2308
> -#        is completed.
> +#
> +# By default, make the functional control a patcheable in module PCD #
> +[PcdsPatchableInModule]
> +  gBeepDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUseBeep
> +
> +[LibraryClasses.Common]
> +
> BeepLib|Debugging/BeepDebugFeaturePkg/Library/BeepLib/BeepLibNull.inf
> +
> +BeepMapLib|Debugging/BeepDebugFeaturePkg/Library/BeepMapLib/Bee
> pMapLib.
> +inf
> +
> +[LibraryClasses.PEIM, LibraryClasses.PEI_CORE]
> +
> +StatusCodeHandlerLib|Debugging/BeepDebugFeaturePkg/Library/BeepSta
> tusCo
> +deHandlerLib/PeiBeepStatusCodeHandlerLib.inf
> +
> +[LibraryClasses.DXE_RUNTIME_DRIVER]
> +
> +StatusCodeHandlerLib|Debugging/BeepDebugFeaturePkg/Library/BeepSta
> tusCo
> +deHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf
> +
> +[LibraryClasses.DXE_SMM_DRIVER]
> +
> +StatusCodeHandlerLib|Debugging/BeepDebugFeaturePkg/Library/BeepSta
> tusCo
> +deHandlerLib/SmmBeepStatusCodeHandlerLib.inf
> +
>  [Components.IA32]

This should be changed to [Components.$(PEI_ARCH)]

> -  #####################################
> -  # Beep Debug Feature Package
> -  #####################################
> 
> -  # Add library instances here that are not included in package components
> and should be tested
> -  # in the package build.
> -
> BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/PeiBeepStatusC
> odeHandlerLib.inf
> +
> MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.in
> f {
> +    <Defines>
> +      #
> +      # Many boards already have StatusCodeHandler components built from
> the common core code
> +      # Providing a unique name avoids collisions.  Both status code handler
> components will
> +      # install their listeners with the status code routers.
> +      #
> +      FILE_GUID = $(BEEP_PEIM_FILENAME)
> +    <LibraryClasses>
> +
> +
> NULL|Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLi
> b/Pe
> + iBeepStatusCodeHandlerLib.inf
> +  }
> 
> -  # The following is an example for used with StatusCodeHandler:
> -#
> MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.in
> f {
> -#   <LibraryClasses>
> -#
> OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibN
> ull/OemHookStatusCodeLibNull.inf
> -#
> SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.in
> f
> -#     BeepLib|BeepDebugFeaturePkg/Library/BeepLib/BeepLibNull.inf
> -#
> BeepMapLib|BeepDebugFeaturePkg/Library/BeepMapLib/BeepMapLib.inf
> -#
> NULL|BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/PeiBeepSt
> atusCodeHandlerLib.inf
> -# }
> -
> -  # Add components here that should be included in the package build.
> -
> -#
> -# Feature DXE Components
> -#
> -
> -# @todo: Change below line to [Components.$(DXE_ARCH)] after
> https://bugzilla.tianocore.org/show_bug.cgi?id=2308
> -#        is completed.
>  [Components.X64]

This should be changed to [Components.$(DXE_ARCH)]

> -  #####################################
> -  # Beep Debug Feature Package
> -  #####################################
> +
> MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHan
> dlerRuntimeDxe.inf {
> +    <Defines>
> +      #
> +      # Many boards already have StatusCodeHandler components built from
> the common core code
> +      # Providing a unique name avoids collisions.  Both status code handler
> components will
> +      # install their listeners with the status code routers.
> +      #
> +      FILE_GUID = $(BEEP_DXE_FILENAME)
> +    <LibraryClasses>
> +
> +
> NULL|Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLi
> b/Ru
> + ntimeDxeBeepStatusCodeHandlerLib.inf
> +  }
> 
> -  # Add library instances here that are not included in package components
> and should be tested
> -  # in the package build.
> -
> BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeDxeBee
> pStatusCodeHandlerLib.inf
> -
> BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/SmmBeepStatus
> CodeHandlerLib.inf
> -
> -  # The following is an example for used with StatusCodeHandler:
> -#
> MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHan
> dlerRuntimeDxe.inf {
> -#   <LibraryClasses>
> -#
> OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibN
> ull/OemHookStatusCodeLibNull.inf
> -#
> SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.in
> f
> -#     BeepLib|BeepDebugFeaturePkg/Library/BeepLib/BeepLibNull.inf
> -#
> BeepMapLib|BeepDebugFeaturePkg/Library/BeepMapLib/BeepMapLib.inf
> -#
> NULL|BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeD
> xeBeepStatusCodeHandlerLib.inf
> -# }
> -
> -#
> MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerSm
> m.inf {
> -#   <LibraryClasses>
> -#
> OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibN
> ull/OemHookStatusCodeLibNull.inf
> -#
> SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.in
> f
> -#     BeepLib|BeepDebugFeaturePkg/Library/BeepLib/BeepLibNull.inf
> -#
> BeepMapLib|BeepDebugFeaturePkg/Library/BeepMapLib/BeepMapLib.inf
> -#
> NULL|BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/SmmBeep
> StatusCodeHandlerLib.inf
> -# }
> -
> -  # Add components here that should be included in the package build.
> -
> -
> ##########################################################
> #########################################
> -#
> -# BuildOptions Section - Define the module specific tool chain flags that
> should be used as
> -#                        the default flags for a module. These flags are appended to any
> -#                        standard flags that are defined by the build process. They can
> be
> -#                        applied for any modules or only those modules with the
> specific
> -#                        module style (EDK or EDKII) specified in [Components] section.
> -#
> -#                        For advanced features, it is recommended to enable
> [BuildOptions] in
> -#                        the applicable INF file so it does not affect the whole board
> package
> -#                        build when this DSC file is active.
> -#
> -
> ##########################################################
> #########################################
> -[BuildOptions]
> +
> MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerSm
> m.inf {
> +    <Defines>
> +      #
> +      # Many boards already have StatusCodeHandler components built from
> the common core code
> +      # Providing a unique name avoids collisions.  Both status code handler
> components will
> +      # install their listeners with the status code routers.
> +      #
> +      FILE_GUID = $(BEEP_SMM_FILENAME)
> +    <LibraryClasses>
> +
> +
> NULL|Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLi
> b/Sm
> + mBeepStatusCodeHandlerLib.inf
> +  }
> diff --git
> a/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/Library/BeepLi
> b.h
> b/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/Library/BeepLi
> b.h
> index f768acc557..0b8f71b097 100644
> ---
> a/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/Library/BeepLi
> b.h
> +++
> b/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/Library/BeepL
> +++ ib.h
> @@ -15,12 +15,12 @@
>    Sends the 32-bit value specified by Value to Beep device, and returns
> Value.
>    Some implementations of this library function may perform I/O operations
>    directly to Beep device.  Other implementations may send Value to
> -  ReportStatusCode(), and the status code reporting mechanism will
> eventually
> +  ReportStatusCode (), and the status code reporting mechanism will
> + eventually
>    display the 32-bit value on the status reporting device.
> 
> -  Beep() must actively prevent recursion.  If Beep() is called while
> +  Beep () must actively prevent recursion.  If Beep () is called while
>    processing another Post Code Library function, then
> -  Beep() must return Value immediately.
> +  Beep () must return Value immediately.
> 
>    @param  Value  Beep count.
>  **/
> diff --git
> a/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PostMemory.f
> df
> b/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PostMemory.f
> df
> new file mode 100644
> index 0000000000..447fb88235
> --- /dev/null
> +++
> b/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PostMemory.f
> d
> +++ f
> @@ -0,0 +1,14 @@
> +## @file
> +#  FDF file for post-memory BeepDebugFeature advanced feature.
> +#
> +#  This file is intended to be included into another package so
> +advanced features #  can be conditionally included in the flash image
> +by enabling the respective #  feature via its FeaturePCD.
> +#
> +# Copyright (C) 2022 Intel Corporation.
> +#
> +# SPDX-License-Identifier: BSD-2-Clause-Patent ##
> +
> +INF FILE_GUID = $(BEEP_DXE_FILENAME)
> +MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHa
> ndlerRu
> +ntimeDxe.inf INF FILE_GUID = $(BEEP_SMM_FILENAME)
> +MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerS
> mm.inf
> diff --git
> a/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PreMemory.fd
> f
> b/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PreMemory.fd
> f
> new file mode 100644
> index 0000000000..160f5e3ffd
> --- /dev/null
> +++
> b/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PreMemory.fd
> f
> @@ -0,0 +1,13 @@
> +## @file
> +#  FDF file for pre-memory BeepDebugFeature advanced feature.
> +#
> +#  This file is intended to be included into another package so
> +advanced features #  can be conditionally included in the flash image
> +by enabling the respective #  feature via its FeaturePCD.
> +#
> +# Copyright (C) 2022 Intel Corporation.
> +#
> +# SPDX-License-Identifier: BSD-2-Clause-Patent ##
> +
> +INF FILE_GUID = $(BEEP_PEIM_FILENAME)
> +MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.i
> nf
> diff --git
> a/Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCod
> eHandlerLib/PeiBeepStatusCodeHandlerLib.inf
> b/Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCod
> eHandlerLib/PeiBeepStatusCodeHandlerLib.inf
> index 421b246663..5be78a72e8 100644
> ---
> a/Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCod
> eHandlerLib/PeiBeepStatusCodeHandlerLib.inf
> +++
> b/Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCod
> +++ eHandlerLib/PeiBeepStatusCodeHandlerLib.inf
> @@ -4,9 +4,6 @@
>  # Copyright (c) 2010 - 2020, Intel Corporation. All rights reserved.<BR>  #
> SPDX-License-Identifier: BSD-2-Clause-Patent  # -# vendor.  This file may not
> be modified, except as allowed by -# additional terms of your license
> agreement.
> -#
>  ##
> 
>  [Defines]
> @@ -15,7 +12,7 @@
>    FILE_GUID                      = C4210E71-0A38-4728-8D25-4876348AA380
>    MODULE_TYPE                    = PEIM
>    CONSTRUCTOR                    = PeiBeepStatusCodeHandlerLibConstructor
> -  LIBRARY_CLASS                  = StatusCodeHandlerLib|SEC PEIM PEI_COR
> +  LIBRARY_CLASS                  = StatusCodeHandlerLib|SEC PEIM PEI_CORE
> 
>  #
>  # The following information is for reference only and not required by the
> build tools.
> diff --git
> a/Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCod
> eHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf
> b/Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCod
> eHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf
> index b9aae39128..2343e35a78 100644
> ---
> a/Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCod
> eHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf
> +++
> b/Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCod
> +++ eHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf
> @@ -4,9 +4,6 @@
>  # Copyright (c) 2010 - 2020, Intel Corporation. All rights reserved.<BR>  #
> SPDX-License-Identifier: BSD-2-Clause-Patent  # -# vendor.  This file may not
> be modified, except as allowed by -# additional terms of your license
> agreement.
> -#
>  ##
> 
>  [Defines]
> diff --git
> a/Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCod
> eHandlerLib/SmmBeepStatusCodeHandlerLib.inf
> b/Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCod
> eHandlerLib/SmmBeepStatusCodeHandlerLib.inf
> index caa82264ae..4db1748fe3 100644
> ---
> a/Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCod
> eHandlerLib/SmmBeepStatusCodeHandlerLib.inf
> +++
> b/Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCod
> +++ eHandlerLib/SmmBeepStatusCodeHandlerLib.inf
> @@ -4,9 +4,6 @@
>  # Copyright (c) 2010 - 2020, Intel Corporation. All rights reserved.<BR>  #
> SPDX-License-Identifier: BSD-2-Clause-Patent  # -# vendor.  This file may not
> be modified, except as allowed by -# additional terms of your license
> agreement.
> -#
>  ##
> 
>  [Defines]
> diff --git a/Features/Intel/Debugging/BeepDebugFeaturePkg/Readme.md
> b/Features/Intel/Debugging/BeepDebugFeaturePkg/Readme.md
> index ee254d0f99..6626c9b764 100644
> --- a/Features/Intel/Debugging/BeepDebugFeaturePkg/Readme.md
> +++ b/Features/Intel/Debugging/BeepDebugFeaturePkg/Readme.md
> @@ -6,25 +6,29 @@
>  More Information:
> 
>  ## Purpose
> -The BeepDebugFeaturePkg include some useful beep debug libraries, such
> as get beep value from status code and beep.
> -This is an important capability in firmware development to get and analyze
> the early error when there is not serial port.
> +Very often it is necessary to debug very close to the reset vector or in
> production systems that lack serial ports, seven segment displays, or useful
> LED that are typically used to output useful debug messages.
> 
> +The BeepDebugFeaturePkg includes some useful beep focused debug
> libraries.
> +
> +This isn't intended for production use.
> +
> +There is not currently seamless integration into the SecCore component
> that handles the reset vector. In order to debug that early, it will be
> necessary to use the BeepLib directly in SEC code.
> 
>  # High-Level Theory of Operation
> -It provide a library BeepStatusCodeHandlerLib used by edk2
> StatusCodeHandler.efi, used to do beep if needed.
> -It also provide a library of BeepMap lib, it map the status code to beep
> value.
> +It provides a library, BeepStatusCodeHandlerLib, used by edk2
> StatusCodeHandler.efi, used to do beep if needed.
> +It also provide a library of BeepMap lib which maps the status code to a
> beep value.
>  A library of Beep lib is needed by platform, and this pkg has a Null
> implementation.
> 
> -In the library contstructor function, BeepStatusCodeHandlerLib register the
> call back function for ReportStatusCode.
> -When called, it call GetBeepFromStatusCode() in BeepMapLib to get beep
> value from status code, and call Beep() in BeepLib to beep.
> +In the library contstructor function, BeepStatusCodeHandlerLib registers
> the call back function for ReportStatusCode. When called, it calls
> GetBeepFromStatusCode (); in BeepMapLib to get beep value from status
> code, and calls Beep () in BeepLib to beep a speaker.
> 
> -BeepStatusCodeHandlerLib include 3 libraries for PEI, RuntimeDxe, SMM:
> +BeepStatusCodeHandlerLib includes three libraries for PEI, RuntimeDxe,
> and SMM:
>  * PeiBeepStatusCodeHandlerLib
>  * RuntimeDxeBeepStatusCodeHandlerLib
>  * SmmBeepStatusCodeHandlerLib
> 
>  ## Firmware Volumes
> -Linked with StatusCodeHandler.efi, and make sure put the
> StatusCodeHandler.efi after the ReportStatusCodeRouter.efi.
> +These libraries need to be linked into StatusCodeHandler components.
> +Make sure one puts the StatusCodeHandler.efi after the
> ReportStatusCodeRouter.efi.
> 
>  ## Modules
>  * BeepStatusCodeHandlerLib
> @@ -32,13 +36,17 @@ Linked with StatusCodeHandler.efi, and make sure
> put the StatusCodeHandler.efi a
>  * BeepLibNull
> 
>  ## BeepStatusCodeHandlerLib
> -This library register the call back function for ReportStatusCode, and get
> beep valude from status code, and do beep.
> +This library registers the callback function for ReportStatusCode, gets beep
> value from status code, and does the beep.
> 
>  ## BeepMapLib
> -This library provide a function to get beep value from status code.
> +This library provides a function to get a beep value for a status code.
> +
> +## BeepLibNull
> +This library provide a function to perform the beep.
> 
>  ## Key Functions
>  * In PeiBeepStatusCodeHandlerLib:
> +```
>    EFI_STATUS
>    EFIAPI
>    BeepStatusCodeReportWorker (
> @@ -49,8 +57,10 @@ This library provide a function to get beep value from
> status code.
>      IN CONST EFI_GUID                 *CallerId,
>      IN CONST EFI_STATUS_CODE_DATA     *Data OPTIONAL
>    )
> +```
> 
>  * In RuntimeDxeBeepStatusCodeHandlerLib:
> +```
>    EFI_STATUS
>    EFIAPI
>    BeepStatusCodeReportWorker (
> @@ -60,8 +70,10 @@ This library provide a function to get beep value from
> status code.
>      IN EFI_GUID                       *CallerId,
>      IN EFI_STATUS_CODE_DATA           *Data OPTIONAL
>    )
> +```
> 
>  * In SmmBeepStatusCodeHandlerLib:
> +```
>    EFI_STATUS
>    EFIAPI
>    BeepStatusCodeReportWorker (
> @@ -71,55 +83,72 @@ This library provide a function to get beep value from
> status code.
>      IN EFI_GUID                       *CallerId,
>      IN EFI_STATUS_CODE_DATA           *Data OPTIONAL
>      )
> +```
> 
>  * In BeepMapLib:
> +```
>    UINT32
>    EFIAPI
>    GetBeepValueFromStatusCode (
>      IN EFI_STATUS_CODE_TYPE           CodeType,
>      IN EFI_STATUS_CODE_VALUE          Value
> -  )
> +    )
> +```
> 
>  * In BeepLib:
> +```
>    VOID
>    EFIAPI
>    Beep (
>      IN UINT32  Value
> -  )
> +    )
> +```
> 
>  ## Configuration
> -* Link the library to StatusCodeHandler.efi.
> -  Example:
> -
> MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHan
> dlerRuntimeDxe.inf {
> -    <LibraryClasses>
> -
> NULL|BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeD
> xeBeepStatusCodeHandlerLib.inf
> -    }
> -  Refer to BeepDebugFeature.dsc for other example.
> -* Config PCD
> gBeepDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUseBeep.
> -  In platform .dsc file, need to config the type of
> gBeepDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUseBeep.
> -  Use PcdsFixedAtBuild to save binary size, and use PcdsDynamic if want to
> enable/disable in runtime.
> -* Implemented platform's special BeepMapLib if needed.
> -* Provide the platform's special BeepLib.
> -* Make sure put the StatusCodeHandler.efi after the
> ReportStatusCodeRouter.efi.
> +* Configure PCD
> gBeepDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUseBeep.
> +  In board DSC file, the board developer needs to configure the type of
> gBeepDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUseBeep control
> desired.
> +  [PcdsFixedAtBuild] is the feature default value as this has lowest size.
> +  [PcdsDynamicExDefault] is the most common configuration as it provides
> dynamic control during debugging.
> +* Implemented board specific BeepMapLib if custom status code to beep
> code mapping as needed.
> +* Provide the board specific BeepLib to perform beeps on the board specific
> hardware.
> +```The default library does not cause any hardware to beep```
> 
>  ## Data Flows
>  Status Code (ReportStatusCode) -> Beep Value
> (GetBeepValueFromStatusCode).
> 
>  ## Control Flows
> -ReportStatusCode() -> BeepStatusCodeReportWorker() ->
> GetBeepValueFromStatusCode() -> Beep()
> +ReportStatusCode () -> BeepStatusCodeReportWorker () ->
> +GetBeepValueFromStatusCode () -> Beep ()
> 
>  ## Build Flows
> -There is not special build flows.
> +Standalone build
> +* build -a IA32 -a X64 -p
> +Debugging\BeepDebugFeaturePkg\BeepDebugFeaturePkg.dsc
> 
> +AdvanceFeaturePkg build
> +* build -a IA32 -a X64 -p AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
>  ## Test Point Results
> -Verify the post code shown is correct.
> +None
> 
>  ## Functional Exit Criteria
>  N/A
> 
>  ## Feature Enabling Checklist
> -* Set the PCD
> gBeepDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUseBeep to TRUE.
> -* Plug out all the memory, check can here the beep.
> +* Verify in board DSC file that
> +gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable set
> to
> +TRUE
> +* Verify board specific BeepLib implemented and included in board DSC file.
> +* Verify that the board has a PlatformHookLib instance.  There is a
> +null library implementation if needed ```
> +
> +PlatformHookLib|MdeModulePkg/Library/BasePlatformHookLibNull/BasePl
> atfo
> +rmHookLibNull.inf
> +```
> +* Verify that your board has the StatusCodeHandler components (PEIM or
> driver) desired.
> +```
> +  Example:
> +
> MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHan
> dlerRuntimeDxe.inf {
> +    <LibraryClasses>
> +
> NULL|BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeD
> xeBeepStatusCodeHandlerLib.inf
> +    }
> +  There are default StatusCodeHandlers for PEI, RT, and SMM in
> BeepDebugFeaturePkg/Include in PreMemory.fdf and PostMemory.fdf for
> use.  But most boards will already have these components and you will just
> want to add the appropriate *StatusCodeHandlerLib.inf to each component.
> +```
> +* Build
> +* Remove all the memory from the system and verify audible beep is heard
> when attempting to boot.
> 
>  ## Common Optimizations
> -* Implemented platform's special BeepMapLib if needed.
> +N/A
> --
> 2.27.0.windows.1
> 
> 
> 
> 
> 


^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 18/27] AcpiDebugFeaturePkg: Use MinPlatformPkg build include files
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 18/27] AcpiDebugFeaturePkg: Use MinPlatformPkg build include files Oram, Isaac W
@ 2022-01-13  2:47   ` Nate DeSimone
  2022-01-19 23:30   ` Nate DeSimone
  1 sibling, 0 replies; 86+ messages in thread
From: Nate DeSimone @ 2022-01-13  2:47 UTC (permalink / raw)
  To: devel@edk2.groups.io, Oram, Isaac W; +Cc: Dong, Eric, Gao, Liming

Hi Isaac,

Comments inline.

Thanks,
Nate

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Oram,
> Isaac W
> Sent: Tuesday, January 11, 2022 6:20 PM
> To: devel@edk2.groups.io
> Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Dong, Eric
> <eric.dong@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
> Subject: [edk2-devel][edk2-platforms][PATCH V1 18/27]
> AcpiDebugFeaturePkg: Use MinPlatformPkg build include files
> 
> Use the MinPlatformPkg common core build files to build libraries needed by
> this feature.
> 
> Cc: Eric Dong <eric.dong@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> 
> Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
> ---
>  Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dsc
> | 21 ++++++
> 
> Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeatur
> e.dsc | 70 --------------------
>  Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf
> |  4 +-
>  3 files changed, 23 insertions(+), 72 deletions(-)
> 
> diff --git
> a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.d
> sc
> b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.d
> sc
> index 62cc559d8f..3b76d39ea8 100644
> ---
> a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.d
> sc
> +++
> b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.d
> +++ sc
> @@ -24,6 +24,27 @@
>    PEI_ARCH                       = IA32
>    DXE_ARCH                       = X64
> 
> +[Packages]
> +  MinPlatformPkg/MinPlatformPkg.dec
> +
> +#
> +# Since there are no 32b libraries or components in this package, these
> +PCD are specified for 64b only # [PcdsFeatureFlag.X64]

This should be changed to [PcdsFeatureFlag.$(DXE_ARCH)]

> +  #
> +  # PCD needed for MinPlatform build includes
> +  #
> +  gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable
> |FALSE
> +  gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable
> |FALSE
> +  gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable
> |FALSE
> +
> +#
> +# Include common libraries
> +#
> +!include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
> +!include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
> +!include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
> +
>  #
>  # This package always builds the feature.
>  #
> diff --git
> a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeat
> ure.dsc
> b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeat
> ure.dsc
> index b142978be1..f5b8bacee0 100644
> ---
> a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeat
> ure.dsc
> +++
> b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeat
> +++ ure.dsc
> @@ -25,45 +25,6 @@
>    !error "DXE_ARCH must be specified to build this feature!"
>  !endif
> 
> -
> ##########################################################
> ######################
> -#
> -# Library Class section - list of all Library Classes needed by this feature.
> -#
> -
> ##########################################################
> ######################
> -
> -!include MdePkg/MdeLibs.dsc.inc
> -
> -[LibraryClasses]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
> -  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
> -  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
> -  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
> -  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
> -  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
> -  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
> -
> UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBo
> otServicesTableLib.inf
> -
> UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntry
> Point.inf
> -  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
> -
> UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib
> /UefiRuntimeServicesTableLib.inf
> -
> -
> [LibraryClasses.common.DXE_DRIVER,LibraryClasses.common.DXE_RUNTIM
> E_DRIVER]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
> -
> MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemo
> ryAllocationLib.inf
> -
> -[LibraryClasses.common.DXE_SMM_DRIVER]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
> -
> MemoryAllocationLib|MdePkg/Library/SmmMemoryAllocationLib/SmmMe
> moryAllocationLib.inf
> -
> SmmServicesTableLib|MdePkg/Library/SmmServicesTableLib/SmmServicesT
> ableLib.inf
> -
> 
> ##########################################################
> ######################
>  #
>  # Component section - list of all components that need built for this feature.
> @@ -78,22 +39,6 @@
>  #       generated for it, but the binary will not be put into any firmware
> volume.
>  #
> 
> ##########################################################
> ######################
> -#
> -# Feature PEI Components
> -#
> -
> -# @todo: Change below line to [Components.$(PEI_ARCH)] after
> https://bugzilla.tianocore.org/show_bug.cgi?id=2308
> -#        is completed.
> -[Components.IA32]
> -  #####################################
> -  # ACPI Debug Feature Package
> -  #####################################
> -
> -  # Add library instances here that are not included in package components
> and should be tested
> -  # in the package build.
> -
> -  # Add components here that should be included in the package build.
> -
>  #
>  # Feature DXE Components
>  #
> @@ -111,18 +56,3 @@
>    # Add components here that should be included in the package build.
>    AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf
>    AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf
> -
> -
> ##########################################################
> #########################################
> -#
> -# BuildOptions Section - Define the module specific tool chain flags that
> should be used as
> -#                        the default flags for a module. These flags are appended to any
> -#                        standard flags that are defined by the build process. They can
> be
> -#                        applied for any modules or only those modules with the
> specific
> -#                        module style (EDK or EDKII) specified in [Components] section.
> -#
> -#                        For advanced features, it is recommended to enable
> [BuildOptions] in
> -#                        the applicable INF file so it does not affect the whole board
> package
> -#                        build when this DSC file is active.
> -#
> -
> ##########################################################
> #########################################
> -[BuildOptions]
> diff --git
> a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fd
> f
> b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fd
> f
> index 84560dae50..855826292c 100644
> ---
> a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fd
> f
> +++
> b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fd
> +++ f
> @@ -7,5 +7,5 @@
>  #
>  ##
> 
> -  INF RuleOverride = DRIVER_ACPITABLE
> AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf
> -  INF RuleOverride = DRIVER_ACPITABLE
> AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf
> +INF RuleOverride = DRIVER_ACPITABLE
> +AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf
> +INF RuleOverride = DRIVER_ACPITABLE
> +AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf
> --
> 2.27.0.windows.1
> 
> 
> 
> 
> 


^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 19/27] Usb3DebugFeaturePkg: Align with feature design guidelines
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 19/27] Usb3DebugFeaturePkg: Align with feature design guidelines Oram, Isaac W
@ 2022-01-13  2:47   ` Nate DeSimone
  0 siblings, 0 replies; 86+ messages in thread
From: Nate DeSimone @ 2022-01-13  2:47 UTC (permalink / raw)
  To: devel@edk2.groups.io, Oram, Isaac W; +Cc: Dong, Eric, Gao, Liming

Hi Isaac,

Comments inline.

Thanks,
Nate

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Oram,
> Isaac W
> Sent: Tuesday, January 11, 2022 6:20 PM
> To: devel@edk2.groups.io
> Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Dong, Eric
> <eric.dong@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
> Subject: [edk2-devel][edk2-platforms][PATCH V1 19/27]
> Usb3DebugFeaturePkg: Align with feature design guidelines
> 
> Remove build of common libraries.  Boards will already have those.
> 
> Modified Usb3DebugFeature.dsc to treat libraries like libraries.
> Usb3DebugFeaturePkg.dsc uses the component trick for standalone build
> testing of the libraries.
> 
> Added a PCD to allow board to select between NULL, regular, and IO MMU
> library instances.  Prior implementation of Usb3DebugFeature.dsc was not
> useful as an includable file because it didn't specify LibaryClass instance to
> use.
> 
> Removed unused CMOS PCD.
> 
> Updated some of the readme sections.
> 
> Cc: Eric Dong <eric.dong@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> 
> Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
> ---
> 
> Features/Intel/Debugging/Usb3DebugFeaturePkg/Include/Usb3DebugFeatu
> re.dsc | 131 ++++----------------
>  Features/Intel/Debugging/Usb3DebugFeaturePkg/Readme.md                    |
> 50 +++++---
> 
> Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.d
> ec      |  14 +--
> 
> Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.d
> sc      |  18 +++
>  4 files changed, 81 insertions(+), 132 deletions(-)
> 
> diff --git
> a/Features/Intel/Debugging/Usb3DebugFeaturePkg/Include/Usb3DebugFea
> ture.dsc
> b/Features/Intel/Debugging/Usb3DebugFeaturePkg/Include/Usb3DebugFea
> ture.dsc
> index 1e3aaecd5d..a87a5b428b 100644
> ---
> a/Features/Intel/Debugging/Usb3DebugFeaturePkg/Include/Usb3DebugFea
> ture.dsc
> +++
> b/Features/Intel/Debugging/Usb3DebugFeaturePkg/Include/Usb3DebugFea
> t
> +++ ure.dsc
> @@ -31,122 +31,35 @@
>  #
> 
> ##########################################################
> ######################
> 
> -!include MdePkg/MdeLibs.dsc.inc
> +[LibraryClasses.Common]
> +
> +Usb3DebugPortParamLibo|Usb3DebugFeaturePkg/Library/Usb3DebugPort
> ParamLi

Typo here. Usb3DebugPortParamLibo should be Usb3DebugPortParamLib.

> +bPcd/Usb3DebugPortParamLibPcd.inf
> 
> -[LibraryClasses]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
> -  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
> -  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
> -  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
> -  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
> -  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
> -  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
> -  PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
> -  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
> -
> TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTem
> plate.inf
> -
> UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBo
> otServicesTableLib.inf
> -
> UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntry
> Point.inf
> -  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
> -
> UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib
> /UefiRuntimeServicesTableLib.inf
> -
> -[LibraryClasses.common.PEIM]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -  HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
> -
> MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemory
> AllocationLib.inf
> -
> PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/P
> eiServicesTablePointerLibIdt.inf
> -
> -[LibraryClasses.common.DXE_DRIVER]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
> -
> MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemo
> ryAllocationLib.inf
> -
> -[LibraryClasses.common.DXE_RUNTIME_DRIVER]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
> -
> MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemo
> ryAllocationLib.inf
> -  UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
> -
> -[LibraryClasses.common.UEFI_DRIVER]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
> -
> MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemo
> ryAllocationLib.inf
> -
> -
> ##########################################################
> ######################
> -#
> -# Component section - list of all components that need built for this feature.
> -#
> -# Note: The EDK II DSC file is not used to specify how compiled binary
> images get placed
> -#       into firmware volume images. This section is just a list of modules to
> compile from
> -#       source into UEFI-compliant binaries.
> -#       It is the FDF file that contains information on combining binary files into
> firmware
> -#       volume images, whose concept is beyond UEFI and is described in PI
> specification.
> -#       There may also be modules listed in this section that are not required in
> the FDF file,
> -#       When a module listed here is excluded from FDF file, then UEFI-
> compliant binary will be
> -#       generated for it, but the binary will not be put into any firmware
> volume.
> -#
> -
> ##########################################################
> ######################
>  #
> -# Feature PEI Components
> +# If NULL Usb3DebugPortLib library instance desired
>  #
> -
> -# @todo: Change below line to [Components.$(PEI_ARCH)] after
> https://bugzilla.tianocore.org/show_bug.cgi?id=2308
> -#        is completed.
> -[Components.IA32]
> -  #####################################
> -  # USB3 Debug Feature Package
> -  #####################################
> -
> -  # Add library instances here that are not included in package components
> and should be tested
> -  # in the package build.
> -
> Usb3DebugFeaturePkg/Library/Usb3DebugPortLib/Usb3DebugPortLibNull.in
> f
> -
> Usb3DebugFeaturePkg/Library/Usb3DebugPortParamLibPcd/Usb3DebugPor
> tParamLibPcd.inf
> -
> Usb3DebugFeaturePkg/Library/Usb3DebugPortLib/Usb3DebugPortLibPei.inf
> -
> Usb3DebugFeaturePkg/Library/Usb3DebugPortLib/Usb3DebugPortLibPeiIo
> Mmu.inf
> -
> -  # Add components here that should be included in the package build.
> +!if gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugPortLibInstance
> == 0
> +  [LibraryClasses.Common]
> +
> +Usb3DebugPortLib|Usb3DebugFeaturePkg/Library/Usb3DebugPortLib/Usb
> 3Debug
> +PortLibNull.inf
> +!endif
> 
>  #
> -# Feature DXE Components
> +# If regular Usb3DebugPortLib library instance desired
>  #
> +!if gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugPortLibInstance
> == 1
> +  [LibraryClasses.PEI_CORE, LibraryClasses.PEIM]
> +
> +Usb3DebugPortLib|Usb3DebugFeaturePkg/Library/Usb3DebugPortLib/Usb
> 3Debug
> +PortLibPei.inf
> 
> -# @todo: Change below line to [Components.$(DXE_ARCH)] after
> https://bugzilla.tianocore.org/show_bug.cgi?id=2308
> -#        is completed.
> -[Components.X64]
> -  #####################################
> -  # USB3 Debug Feature Package
> -  #####################################
> -
> -  # Add library instances here that are not included in package components
> and should be tested
> -  # in the package build.
> -
> Usb3DebugFeaturePkg/Library/Usb3DebugPortLib/Usb3DebugPortLibNull.in
> f
> -
> Usb3DebugFeaturePkg/Library/Usb3DebugPortParamLibPcd/Usb3DebugPor
> tParamLibPcd.inf
> -
> Usb3DebugFeaturePkg/Library/Usb3DebugPortLib/Usb3DebugPortLibDxe.in
> f
> -
> Usb3DebugFeaturePkg/Library/Usb3DebugPortLib/Usb3DebugPortLibDxeIo
> Mmu.inf
> +  [LibraryClasses.DXE_CORE, LibraryClasses.DXE_DRIVER,
> LibraryClasses.DXE_RUNTIME_DRIVER, LibraryClasses.SMM_CORE,
> LibraryClasses.DXE_SMM_DRIVER, LibraryClasses.UEFI_DRIVER]
> +
> +Usb3DebugPortLib|Usb3DebugFeaturePkg/Library/Usb3DebugPortLib/Usb
> 3Debug
> +PortLibDxe.inf
> +!endif
> 
> -  # Add components here that should be included in the package build.
> -
> -
> ##########################################################
> #########################################
> -#
> -# BuildOptions Section - Define the module specific tool chain flags that
> should be used as
> -#                        the default flags for a module. These flags are appended to any
> -#                        standard flags that are defined by the build process. They can
> be
> -#                        applied for any modules or only those modules with the
> specific
> -#                        module style (EDK or EDKII) specified in [Components] section.
>  #
> -#                        For advanced features, it is recommended to enable
> [BuildOptions] in
> -#                        the applicable INF file so it does not affect the whole board
> package
> -#                        build when this DSC file is active.
> +# If regular Usb3DebugPortLib library instance desired
>  #
> -
> ##########################################################
> #########################################
> -[BuildOptions]
> +!if gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugPortLibInstance
> == 2
> +  [LibraryClasses.PEI_CORE, LibraryClasses.PEIM]
> +
> +Usb3DebugPortLib|Usb3DebugFeaturePkg/Library/Usb3DebugPortLib/Usb
> 3Debug
> +PortLibPeiIoMmu.inf
> +
> +  [LibraryClasses.DXE_CORE, LibraryClasses.DXE_DRIVER,
> LibraryClasses.DXE_RUNTIME_DRIVER, LibraryClasses.SMM_CORE,
> LibraryClasses.DXE_SMM_DRIVER, LibraryClasses.UEFI_DRIVER]
> +
> +Usb3DebugPortLib|Usb3DebugFeaturePkg/Library/Usb3DebugPortLib/Usb
> 3Debug
> +PortLibDxeIoMmu.inf
> +!endif
> diff --git a/Features/Intel/Debugging/Usb3DebugFeaturePkg/Readme.md
> b/Features/Intel/Debugging/Usb3DebugFeaturePkg/Readme.md
> index dc92f108ff..c8afcf9fd2 100644
> --- a/Features/Intel/Debugging/Usb3DebugFeaturePkg/Readme.md
> +++ b/Features/Intel/Debugging/Usb3DebugFeaturePkg/Readme.md
> @@ -29,12 +29,15 @@ The description should not be constrained to
> implementation details but provide  feature is supposed to work.
> 
>  ## Firmware Volumes
> -*_TODO_*
> -A bulleted list of the firmware volumes that feature module(s) are placed in.
> +Not applicable, the feature only produces libraries.
> 
>  ## Modules
> -*_TODO_*
> -A bulleted list of the modules that make up the feature.
> +* Usb3DebugPortLibDxe
> +* Usb3DebugPortLibDxeIoMmu
> +* Usb3DebugPortLibNull
> +* Usb3DebugPortLibPei
> +* Usb3DebugPortLibPeiIoMmu
> +* Usb3DebugPortParamLibPcd
> 
>  ## <Module Name>
>  *_TODO_*
> @@ -76,11 +79,7 @@ This is particularly useful for features that use custom
> build tools or require  standard flow in the feature package template is used,
> this section may be empty.
> 
>  ## Test Point Results
> -*_TODO_*
> -The test(s) that can verify porting is complete for the feature.
> -
> -Each feature must describe at least one test point to verify the feature is
> successful. If the test point is not -implemented, this should be stated.
> +No test points implemented
> 
>  ## Functional Exit Criteria
>  *_TODO_*
> @@ -90,8 +89,28 @@ This section should provide an ordered list of criteria
> that a board integrator  functional on their board.
> 
>  ## Feature Enabling Checklist
> -*_TODO_*
> -An ordered list of required activities to achieve desired functionality for the
> feature.
> +* In the board DSC file, enable the feature ``` [PcdsFeatureFlag]
> +
> gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable|TRU
> E
> +```
> +* In the board DSC file, select the implementation desired ```
> +[PcdsFixedAtBuild]
> +  # 0 = Non-functional instance
> +  # 1 = Regular instance
> +  # 2 = IO MMU instance
> +
> gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugPortLibInstance|1
> +```
> +* In the board DSC file, configure the PCI device information ```
> +[PcdsFixedAtBuild]
> +  gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsbSerialXhciBus|0x00
> +  gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsbSerialXhciDev|0x14
> +  gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsbSerialXhciFunc|0x00
> +
> +gUsb3DebugFeaturePkgTokenSpaceGuid.PcdXhciDefaultBaseAddress|0xFE
> A10000
> +```
> +
> 
>  ## Performance Impact
>  A general expectation for the impact on overall boot performance due to
> using this feature.
> @@ -102,7 +121,8 @@ This section is expected to provide guidance on:
>  * How to manage performance impact of the feature
> 
>  ## Common Optimizations
> -*_TODO_*
> -Common size or performance tuning options for this feature.
> -
> -This section is recommended but not required. If not used, the contents
> should be left empty.
> +* In the board DSC file, tune the timeout value ``` [PcdsFixedAtBuild]
> +
> gUsb3DebugFeaturePkgTokenSpaceGuid.PcdXhciHostWaitTimeout|2000000
> +```
> diff --git
> a/Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.
> dec
> b/Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg
> .dec
> index 2b19e48491..353001b0f8 100644
> ---
> a/Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.
> dec
> +++
> b/Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg
> .d
> +++ ec
> @@ -36,6 +36,12 @@
> 
> gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable|FAL
> SE|BOOLEAN|0xA0000001
> 
>  [PcdsFixedAtBuild]
> +  ## This PCD allows the board to select the Usb3DebugPortLib instance
> + desired  # 0 = NULL instance  # 1 = Regular instance  # 2 = IO MMU
> + instance
> +
> +
> gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugPortLibInstance|0|
> UINT8
> + |0xF0000009
> +
>    ## These PCD specify XHCI controller Bus/Device/Function, which are used
> to enable
>    #  XHCI debug device.
> 
> gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsbSerialXhciBus|0x00|UINT8|
> 0xF0000001
> @@ -47,11 +53,3 @@
>    #  Default timeout value is 2000000 microseconds.
>    #  If user does not want system stall for long time, it can be set to small
> value.
> 
> gUsb3DebugFeaturePkgTokenSpaceGuid.PcdXhciHostWaitTimeout|2000000
> |UINT64|0xF0000005
> -
> -  ## This PCD sepcifies the start index in CMOS, it will occupy 1 bytes space.
> -
> gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugPortBusIndex|0x59
> |UINT8|0xF0000006
> -  ## This PCD sepcifies the start index in CMOS, it will occupy 1 bytes space.
> -
> gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugPortDeviceIndex|0
> x5A|UINT8|0xF0000007
> -  ## This PCD sepcifies the start index in CMOS, it will occupy 1 bytes space.
> -
> gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugPortFunctionIndex|
> 0x5B|UINT8|0xF0000008
> -
> diff --git
> a/Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.
> dsc
> b/Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg
> .dsc
> index 02627d2ed4..6965d26721 100644
> ---
> a/Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.
> dsc
> +++
> b/Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg
> .d
> +++ sc
> @@ -24,7 +24,25 @@
>    PEI_ARCH                       = IA32
>    DXE_ARCH                       = X64
> 
> +[PcdsFixedAtBuild]
> +
> gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugPortLibInstance|0
> +
>  #
>  # This package always builds the feature.
>  #
>  !include Include/Usb3DebugFeature.dsc
> +
> +#
> +# This package currently only contains library classes.  To force them
> +to be built since there is no code to use them # we just tell the build
> +that they are components and the build will compile the libraries #
> +
> +[Components]

Did you test compilation for the Usb3DebugFeaturePkg? I've generally run into issues when a components sections does not specify a machine architecture through some sort of means.

> +
> Usb3DebugFeaturePkg/Library/Usb3DebugPortLib/Usb3DebugPortLibNull.in
> f
> +
> +Usb3DebugFeaturePkg/Library/Usb3DebugPortParamLibPcd/Usb3DebugPo
> rtParam
> +LibPcd.inf
> +
> +
> Usb3DebugFeaturePkg/Library/Usb3DebugPortLib/Usb3DebugPortLibPei.inf
> +
> +
> Usb3DebugFeaturePkg/Library/Usb3DebugPortLib/Usb3DebugPortLibPeiIo
> Mmu.
> + inf
> +
> +
> Usb3DebugFeaturePkg/Library/Usb3DebugPortLib/Usb3DebugPortLibDxe.in
> f
> +
> +
> Usb3DebugFeaturePkg/Library/Usb3DebugPortLib/Usb3DebugPortLibDxeIo
> Mmu.
> + inf
> --
> 2.27.0.windows.1
> 
> 
> 
> 
> 


^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 26/27] AdvancedFeaturePkg/Build: Add FDF to create FV for all features
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 26/27] AdvancedFeaturePkg/Build: Add FDF to create FV for all features Oram, Isaac W
@ 2022-01-13  2:47   ` Nate DeSimone
  0 siblings, 0 replies; 86+ messages in thread
From: Nate DeSimone @ 2022-01-13  2:47 UTC (permalink / raw)
  To: devel@edk2.groups.io, Oram, Isaac W; +Cc: Chaganty, Rangasai V, Gao, Liming

Hi Isaac,

Since FvAdvanced is post-memory and not covered by the boot guard IBB, I suspect we should probably also support optional signing of that FV.

Thanks,
Nate

-----Original Message-----
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Oram, Isaac W
Sent: Tuesday, January 11, 2022 6:20 PM
To: devel@edk2.groups.io
Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
Subject: [edk2-devel][edk2-platforms][PATCH V1 26/27] AdvancedFeaturePkg/Build: Add FDF to create FV for all features

This produces three FV and no FD.
FvAdvancedPreMemory.fv contains PEIM for pre-memory use.
FvAdvancedUncompressed.fv contains post memory PEIM and drivers for DXE and SMM.
FvAdvanced.fv contains the compressed FvAdvancedUncompressed.fv in an FV file format as is common practice.

These FV are not expected to be used as is, but are needed to test the individual features for things like filename collisions.  Some features require build customization so binary reuse is not feasible at this time.

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc |  1 +  Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.fdf | 49 ++++++++++++++++++++
 2 files changed, 50 insertions(+)

diff --git a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
index 02636da916..28530b8c67 100644
--- a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
+++ b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
@@ -29,6 +29,7 @@
   SKUID_IDENTIFIER                    = DEFAULT
   PEI_ARCH                            = IA32
   DXE_ARCH                            = X64
+  FLASH_DEFINITION                    = AdvancedFeaturePkg/AdvancedFeaturePkg.fdf
 
 [Packages]
   MdePkg/MdePkg.dec
diff --git a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.fdf b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.fdf
new file mode 100644
index 0000000000..76a02c5d1c
--- /dev/null
+++ b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.fdf
@@ -0,0 +1,49 @@
+## @file
+# FDF file generating AdvancedFeature FV for inclusion in a MinPlatform design.
+#
+# There are three FV produced, FvAdvancedPreMemory.fv, 
+FvAdvancedUncompressed.fv, and # FvAdvanced.fv.  The sizes are 
+arbitrary as these are not expected to be used as is # in today's usages.  Boards will tune FV by selecting or deseleting features and building.
+#
+# @copyright
+# Copyright (C) 2022 Intel Corporation
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent ##
+
+[Defines]
+  DEFINE UNCOMPRESSED_FV_ADVANCED_FILENAME = 
+6d606b5c-2d45-4705-a700-73324306be06
+
+[FV.FvAdvancedPreMemory]
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  FvNameGuid         = ea9da344-a7f3-468c-ae84-2d22fc03b28e
+
+  !include AdvancedFeaturePkg/Include/PreMemory.fdf
+
+[FV.FvAdvancedUncompressed]
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  FvNameGuid         = $(UNCOMPRESSED_FV_ADVANCED_FILENAME)
+
+  !include AdvancedFeaturePkg/Include/PostMemory.fdf
+
+[FV.FvAdvanced]
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  FvNameGuid         = 445b121d-28d6-4801-8958-8253cf426cf7
+
+  FILE FV_IMAGE = $(UNCOMPRESSED_FV_ADVANCED_FILENAME) {
+    SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE {
+      SECTION FV_IMAGE = FvAdvancedUncompressed
+    }
+  }
+
+
+#######################################################################
+#########
+#
+# Rules are use with the [FV] section's module INF type to define # how 
+an FFS file is created for a given INF file. The following Rule are the 
+default # rules for the different module type. User can add the 
+customized rules to define the # content of the FFS file.
+#
+#######################################################################
+#########
+
+!include MinPlatformPkg/Include/Fdf/RuleInclude.fdf
--
2.27.0.windows.1







^ permalink raw reply related	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 02/27] BeepDebugFeaturePkg: Fix all relative package paths
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 02/27] BeepDebugFeaturePkg: Fix all relative package paths Oram, Isaac W
@ 2022-01-13  2:47   ` Nate DeSimone
  2022-01-14  5:27   ` Chaganty, Rangasai V
  1 sibling, 0 replies; 86+ messages in thread
From: Nate DeSimone @ 2022-01-13  2:47 UTC (permalink / raw)
  To: devel@edk2.groups.io, Oram, Isaac W
  Cc: Chaganty, Rangasai V, Gao, Liming, Dong, Eric

Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Oram,
> Isaac W
> Sent: Tuesday, January 11, 2022 6:20 PM
> To: devel@edk2.groups.io
> Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Chaganty, Rangasai V
> <rangasai.v.chaganty@intel.com>; Gao, Liming
> <gaoliming@byosoft.com.cn>; Dong, Eric <eric.dong@intel.com>
> Subject: [edk2-devel][edk2-platforms][PATCH V1 02/27]
> BeepDebugFeaturePkg: Fix all relative package paths
> 
> Packages should be at the root of a PACKAGES_PATH entry.
> At some point, paths were relative to edk2-platforms/Features/Intel which
> was functional, but interferes with the proper functioning of packaging tools.
> 
> Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> Cc: Eric Dong <eric.dong@intel.com>
> 
> Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
> ---
> 
> Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeat
> ure.dsc | 16 ++++++++--------
>  1 file changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git
> a/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFe
> ature.dsc
> b/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFe
> ature.dsc
> index 251de6932b..00ef022657 100644
> ---
> a/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFe
> ature.dsc
> +++
> b/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFe
> at
> +++ ure.dsc
> @@ -54,17 +54,17 @@
>    gBeepDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUseBeep
> 
>  [LibraryClasses.Common]
> -
> BeepLib|Debugging/BeepDebugFeaturePkg/Library/BeepLib/BeepLibNull.inf
> -
> BeepMapLib|Debugging/BeepDebugFeaturePkg/Library/BeepMapLib/Beep
> MapLib.inf
> +  BeepLib|BeepDebugFeaturePkg/Library/BeepLib/BeepLibNull.inf
> +
> BeepMapLib|BeepDebugFeaturePkg/Library/BeepMapLib/BeepMapLib.inf
> 
>  [LibraryClasses.PEIM, LibraryClasses.PEI_CORE]
> -
> StatusCodeHandlerLib|Debugging/BeepDebugFeaturePkg/Library/BeepStat
> usCodeHandlerLib/PeiBeepStatusCodeHandlerLib.inf
> +
> +
> StatusCodeHandlerLib|BeepDebugFeaturePkg/Library/BeepStatusCodeHan
> dler
> + Lib/PeiBeepStatusCodeHandlerLib.inf
> 
>  [LibraryClasses.DXE_RUNTIME_DRIVER]
> -
> StatusCodeHandlerLib|Debugging/BeepDebugFeaturePkg/Library/BeepStat
> usCodeHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf
> +
> +
> StatusCodeHandlerLib|BeepDebugFeaturePkg/Library/BeepStatusCodeHan
> dler
> + Lib/RuntimeDxeBeepStatusCodeHandlerLib.inf
> 
>  [LibraryClasses.DXE_SMM_DRIVER]
> -
> StatusCodeHandlerLib|Debugging/BeepDebugFeaturePkg/Library/BeepStat
> usCodeHandlerLib/SmmBeepStatusCodeHandlerLib.inf
> +
> +
> StatusCodeHandlerLib|BeepDebugFeaturePkg/Library/BeepStatusCodeHan
> dler
> + Lib/SmmBeepStatusCodeHandlerLib.inf
> 
>  [Components.IA32]
> 
> @@ -77,7 +77,7 @@
>        #
>        FILE_GUID = $(BEEP_PEIM_FILENAME)
>      <LibraryClasses>
> -
> NULL|Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLi
> b/PeiBeepStatusCodeHandlerLib.inf
> +
> +
> NULL|BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/PeiBeepSt
> atu
> + sCodeHandlerLib.inf
>    }
> 
>  [Components.X64]
> @@ -90,7 +90,7 @@
>        #
>        FILE_GUID = $(BEEP_DXE_FILENAME)
>      <LibraryClasses>
> -
> NULL|Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLi
> b/RuntimeDxeBeepStatusCodeHandlerLib.inf
> +
> +
> NULL|BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeD
> xeBe
> + epStatusCodeHandlerLib.inf
>    }
> 
> 
> MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerSm
> m.inf { @@ -102,5 +102,5 @@
>        #
>        FILE_GUID = $(BEEP_SMM_FILENAME)
>      <LibraryClasses>
> -
> NULL|Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLi
> b/SmmBeepStatusCodeHandlerLib.inf
> +
> +
> NULL|BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/SmmBeep
> Statu
> + sCodeHandlerLib.inf
>    }
> --
> 2.27.0.windows.1
> 
> 
> 
> 
> 


^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 17/27] PostCodeDebugFeaturePkg: Complete as an advanced feature
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 17/27] PostCodeDebugFeaturePkg: Complete as an advanced feature Oram, Isaac W
@ 2022-01-13  2:48   ` Nate DeSimone
  0 siblings, 0 replies; 86+ messages in thread
From: Nate DeSimone @ 2022-01-13  2:48 UTC (permalink / raw)
  To: devel@edk2.groups.io, Oram, Isaac W; +Cc: Dong, Eric, Gao, Liming

Hi Issac,

Comments inline.

Thanks,
Nate

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Oram,
> Isaac W
> Sent: Tuesday, January 11, 2022 6:20 PM
> To: devel@edk2.groups.io
> Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Dong, Eric
> <eric.dong@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
> Subject: [edk2-devel][edk2-platforms][PATCH V1 17/27]
> PostCodeDebugFeaturePkg: Complete as an advanced feature
> 
> Add feature enable PCD.
> Use MinPlatformPkg build include files.
> Fix PEI_COR typo in PEI handler lib.
> Build StatusCodeHandler components with unique filename GUID.
> Add PreMemory.fdf and PostMemory.fdf include files.
> Improve Readme formatting and feature enabling checklist.
> 
> Cc: Eric Dong <eric.dong@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> 
> Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
> ---
> 
> Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostCodeDe
> bugFeature.dsc                                         | 231 +++++---------------
> 
> Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostMemor
> y.fdf                                                   |  14 ++
> 
> Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PreMemory.
> fdf                                                    |  13 ++
> 
> Features/Intel/Debugging/PostCodeDebugFeaturePkg/Library/PostCodeStat
> usCodeHandlerLib/PeiPostCodeStatusCodeHandlerLib.inf |   2 +-
> 
> Features/Intel/Debugging/PostCodeDebugFeaturePkg/PostCodeDebugFeat
> urePkg.dec                                              |  11 +
> 
> Features/Intel/Debugging/PostCodeDebugFeaturePkg/PostCodeDebugFeat
> urePkg.dsc                                              |  30 +++
>  Features/Intel/Debugging/PostCodeDebugFeaturePkg/Readme.md
> |  31 ++-
>  7 files changed, 146 insertions(+), 186 deletions(-)
> 
> diff --git
> a/Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostCode
> DebugFeature.dsc
> b/Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostCode
> DebugFeature.dsc
> index 3d886fff38..31b0c02e79 100644
> ---
> a/Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostCode
> DebugFeature.dsc
> +++
> b/Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostCode
> D
> +++ ebugFeature.dsc
> @@ -12,192 +12,71 @@
>  #
>  ##
> 
> -
> ##########################################################
> ######################
> -#
> -# Defines Section - statements that will be processed to create a Makefile.
> -#
> -
> ##########################################################
> ######################
>  [Defines]
> -!ifndef $(PEI_ARCH)
> -  !error "PEI_ARCH must be specified to build this feature!"
> -!endif
> -!ifndef $(DXE_ARCH)
> -  !error "DXE_ARCH must be specified to build this feature!"
> -!endif
> +  !ifndef $(PEI_ARCH)
> +    !error "PEI_ARCH must be specified to build this feature!"
> +  !endif
> +  !ifndef $(DXE_ARCH)
> +    !error "DXE_ARCH must be specified to build this feature!"
> +  !endif
> 
> -
> ##########################################################
> ######################
> -#
> -# PCD Section - list of PCD Entries modified by the feature.
> -#
> -
> ##########################################################
> ######################
> +  DEFINE POST_CODE_PEIM_FILENAME  = 3ea07dd3-f837-40c0-ac56-
> f3e18a30d01b
> +  DEFINE POST_CODE_DXE_FILENAME   = e7d785f5-e2f3-45e3-b0e7-
> 2291a6c6dea6
> +  DEFINE POST_CODE_SMM_FILENAME   = 02a955c7-48c0-4178-989b-
> b3fea4b3c6a2
> 
> -# Unmark the following and StatusCodeHandler.efi to build the .dsc file
> directly -#[PcdsDynamicDefault] -#
> gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUsePostCode|
> TRUE
> +[PcdsDynamicExDefault]
> +  #
> +  # By default, make the functional control DynamicExDefault PCD so that it
> can be enabled when debugging.
> +  #
> +
> gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUsePostCode
> 
> -
> ##########################################################
> ######################
> -#
> -# Library Class section - list of all Library Classes needed by this feature.
> -#
> -
> ##########################################################
> ######################
> +[LibraryClasses.Common]
> +
> +PostCodeMapLib|PostCodeDebugFeaturePkg/Library/PostCodeMapLib/Po
> stCodeM
> +apLib.inf
> 
> -!include MdePkg/MdeLibs.dsc.inc
> +[LibraryClasses.PEIM, LibraryClasses.PEI_CORE]
> +
> +StatusCodeHandlerLib|PostCodeDebugFeaturePkg/Library/PostCodeStatus
> Code
> +HandlerLib/PeiPostCodeStatusCodeHandlerLib.inf
> 
> -[LibraryClasses]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
> -  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
> -  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
> -  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
> -  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
> -  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
> -  PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
> -  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
> -
> TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTem
> plate.inf
> -
> UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBo
> otServicesTableLib.inf
> -
> UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntry
> Point.inf
> -  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
> -
> UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib
> /UefiRuntimeServicesTableLib.inf
> -  PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
> +[LibraryClasses.DXE_RUNTIME_DRIVER]
> +
> +StatusCodeHandlerLib|PostCodeDebugFeaturePkg/Library/PostCodeStatus
> Code
> +HandlerLib/RuntimeDxePostCodeStatusCodeHandlerLib.inf
> 
> -[LibraryClasses.common.PEIM]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -  HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
> -
> MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemory
> AllocationLib.inf
> -
> PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/P
> eiServicesTablePointerLibIdt.inf
> +[LibraryClasses.DXE_SMM_DRIVER]
> +
> +StatusCodeHandlerLib|PostCodeDebugFeaturePkg/Library/PostCodeStatus
> Code
> +HandlerLib/SmmPostCodeStatusCodeHandlerLib.inf
> 
> -
> [LibraryClasses.IA32.PEIM,LibraryClasses.IA32.PEI_CORE,LibraryClasses.IA32.
> SEC]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -
> ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiR
> eportStatusCodeLib.inf
> -
> -[LibraryClasses.common.DXE_DRIVER]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
> -
> MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemo
> ryAllocationLib.inf
> -
> -[LibraryClasses.common.DXE_RUNTIME_DRIVER]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
> -
> MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemo
> ryAllocationLib.inf
> -  UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
> -
> ReportStatusCodeLib|MdeModulePkg/Library/RuntimeDxeReportStatusCod
> eLib/RuntimeDxeReportStatusCodeLib.inf
> -
> -[LibraryClasses.common.UEFI_DRIVER]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
> -
> MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemo
> ryAllocationLib.inf
> -
> -[LibraryClasses.X64.DXE_SMM_DRIVER]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -
> SmmServicesTableLib|MdePkg/Library/SmmServicesTableLib/SmmServicesT
> ableLib.inf
> -
> MemoryAllocationLib|MdePkg/Library/SmmMemoryAllocationLib/SmmMe
> moryAllocationLib.inf
> -  SmmIoLib|MdePkg/Library/SmmIoLib/SmmIoLib.inf
> -  SmmMemLib|MdePkg/Library/SmmMemLib/SmmMemLib.inf
> -
> ReportStatusCodeLib|MdeModulePkg/Library/SmmReportStatusCodeLib/S
> mmReportStatusCodeLib.inf
> -
> -
> ##########################################################
> ######################
> -#
> -# Component section - list of all components that need built for this feature.
> -#
> -# Note: The EDK II DSC file is not used to specify how compiled binary
> images get placed
> -#       into firmware volume images. This section is just a list of modules to
> compile from
> -#       source into UEFI-compliant binaries.
> -#       It is the FDF file that contains information on combining binary files into
> firmware
> -#       volume images, whose concept is beyond UEFI and is described in PI
> specification.
> -#       There may also be modules listed in this section that are not required in
> the FDF file,
> -#       When a module listed here is excluded from FDF file, then UEFI-
> compliant binary will be
> -#       generated for it, but the binary will not be put into any firmware
> volume.
> -#
> -
> ##########################################################
> ######################
> -#
> -# Feature PEI Components
> -#
> -
> -# @todo: Change below line to [Components.$(PEI_ARCH)] after
> https://bugzilla.tianocore.org/show_bug.cgi?id=2308
> -#        is completed.
>  [Components.IA32]

This should be changed to [Components.$(PEI_ARCH)]

> -  #####################################
> -  # PostCode Debug Feature Package
> -  #####################################
> 
> -  # Add library instances here that are not included in package components
> and should be tested
> -  # in the package build.
> -
> PostCodeDebugFeaturePkg/Library/PostCodeStatusCodeHandlerLib/PeiPost
> CodeStatusCodeHandlerLib.inf
> +
> MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.in
> f {
> +    <Defines>
> +      #
> +      # Many boards already have StatusCodeHandler components built from
> the common core code
> +      # Providing a unique name avoids collisions.  Both status code handler
> components will
> +      # install their listeners with the status code routers.
> +      #
> +      FILE_GUID = $(POST_CODE_PEIM_FILENAME)
> +    <LibraryClasses>
> +
> +
> NULL|PostCodeDebugFeaturePkg/Library/PostCodeStatusCodeHandlerLib/P
> eiP
> + ostCodeStatusCodeHandlerLib.inf
> +  }
> 
> -  # The following is an example for used with StatusCodeHandler:
> -#
> MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.in
> f {
> -#   <LibraryClasses>
> -#
> OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibN
> ull/OemHookStatusCodeLibNull.inf
> -#
> SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.in
> f
> -#
> PostCodeLib|MdePkg/Library/BasePostCodeLibDebug/BasePostCodeLibDeb
> ug.inf
> -#
> PostCodeMapLib|PostCodeDebugFeaturePkg/Library/PostCodeMapLib/Post
> CodeMapLib.inf
> -#
> NULL|PostCodeDebugFeaturePkg/Library/PostCodeStatusCodeHandlerLib/P
> eiPostCodeStatusCodeHandlerLib.inf
> -# }
> -
> -  # Add components here that should be included in the package build.
> -
> -#
> -# Feature DXE Components
> -#
> -
> -# @todo: Change below line to [Components.$(DXE_ARCH)] after
> https://bugzilla.tianocore.org/show_bug.cgi?id=2308
> -#        is completed.
>  [Components.X64]

This should be changed to [Components.$(DXE_ARCH)]

> -  #####################################
> -  # PostCode Debug Feature Package
> -  #####################################
> +
> MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHan
> dlerRuntimeDxe.inf {
> +    <Defines>
> +      #
> +      # Many boards already have StatusCodeHandler components built from
> the common core code
> +      # Providing a unique name avoids collisions.  Both status code handler
> components will
> +      # install their listeners with the status code routers.
> +      #
> +      FILE_GUID = $(POST_CODE_DXE_FILENAME)
> +    <LibraryClasses>
> +
> +
> NULL|PostCodeDebugFeaturePkg/Library/PostCodeStatusCodeHandlerLib/R
> unt
> + imeDxePostCodeStatusCodeHandlerLib.inf
> +  }
> 
> -  # Add library instances here that are not included in package components
> and should be tested
> -  # in the package build.
> -
> PostCodeDebugFeaturePkg/Library/PostCodeStatusCodeHandlerLib/Runtim
> eDxePostCodeStatusCodeHandlerLib.inf
> -
> PostCodeDebugFeaturePkg/Library/PostCodeStatusCodeHandlerLib/SmmPo
> stCodeStatusCodeHandlerLib.inf
> -
> -  # The following is an example for used with StatusCodeHandler:
> -#
> MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHan
> dlerRuntimeDxe.inf {
> -#   <LibraryClasses>
> -#
> OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibN
> ull/OemHookStatusCodeLibNull.inf
> -#
> SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.in
> f
> -#
> PostCodeLib|MdePkg/Library/BasePostCodeLibDebug/BasePostCodeLibDeb
> ug.inf
> -#
> PostCodeMapLib|PostCodeDebugFeaturePkg/Library/PostCodeMapLib/Post
> CodeMapLib.inf
> -#
> NULL|PostCodeDebugFeaturePkg/Library/PostCodeStatusCodeHandlerLib/R
> untimeDxePostCodeStatusCodeHandlerLib.inf
> -# }
> -
> -#
> MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerSm
> m.inf {
> -#   <LibraryClasses>
> -#
> OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibN
> ull/OemHookStatusCodeLibNull.inf
> -#
> SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.in
> f
> -#
> PostCodeLib|MdePkg/Library/BasePostCodeLibDebug/BasePostCodeLibDeb
> ug.inf
> -#
> PostCodeMapLib|PostCodeDebugFeaturePkg/Library/PostCodeMapLib/Post
> CodeMapLib.inf
> -#
> NULL|PostCodeDebugFeaturePkg/Library/PostCodeStatusCodeHandlerLib/S
> mmPostCodeStatusCodeHandlerLib.inf
> -# }
> -
> -  # Add components here that should be included in the package build.
> -
> -
> ##########################################################
> #########################################
> -#
> -# BuildOptions Section - Define the module specific tool chain flags that
> should be used as
> -#                        the default flags for a module. These flags are appended to any
> -#                        standard flags that are defined by the build process. They can
> be
> -#                        applied for any modules or only those modules with the
> specific
> -#                        module style (EDK or EDKII) specified in [Components] section.
> -#
> -#                        For advanced features, it is recommended to enable
> [BuildOptions] in
> -#                        the applicable INF file so it does not affect the whole board
> package
> -#                        build when this DSC file is active.
> -#
> -
> ##########################################################
> #########################################
> -[BuildOptions]
> +
> MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerSm
> m.inf {
> +    <Defines>
> +      #
> +      # Many boards already have StatusCodeHandler components built from
> the common core code
> +      # Providing a unique name avoids collisions.  Both status code handler
> components will
> +      # install their listeners with the status code routers.
> +      #
> +      FILE_GUID = $(POST_CODE_SMM_FILENAME)
> +    <LibraryClasses>
> +
> +
> NULL|PostCodeDebugFeaturePkg/Library/PostCodeStatusCodeHandlerLib/S
> mmP
> + ostCodeStatusCodeHandlerLib.inf
> +  }
> diff --git
> a/Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostMem
> ory.fdf
> b/Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostMem
> ory.fdf
> new file mode 100644
> index 0000000000..1be9b369a8
> --- /dev/null
> +++
> b/Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostMem
> or
> +++ y.fdf
> @@ -0,0 +1,14 @@
> +## @file
> +#  FDF file for post-memory BeepDebugFeature advanced feature.
> +#
> +#  This file is intended to be included into another package so
> +advanced features #  can be conditionally included in the flash image
> +by enabling the respective #  feature via its FeaturePCD.
> +#
> +# Copyright (C) 2022 Intel Corporation.
> +#
> +# SPDX-License-Identifier: BSD-2-Clause-Patent ##
> +
> +INF FILE_GUID = $(POST_CODE_DXE_FILENAME)
> +MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHa
> ndlerRu
> +ntimeDxe.inf INF FILE_GUID = $(POST_CODE_SMM_FILENAME)
> +MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerS
> mm.inf
> diff --git
> a/Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PreMemo
> ry.fdf
> b/Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PreMemo
> ry.fdf
> new file mode 100644
> index 0000000000..168ceb1712
> --- /dev/null
> +++
> b/Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PreMemo
> ry
> +++ .fdf
> @@ -0,0 +1,13 @@
> +## @file
> +#  FDF file for pre-memory BeepDebugFeature advanced feature.
> +#
> +#  This file is intended to be included into another package so
> +advanced features #  can be conditionally included in the flash image
> +by enabling the respective #  feature via its FeaturePCD.
> +#
> +# Copyright (C) 2022 Intel Corporation.
> +#
> +# SPDX-License-Identifier: BSD-2-Clause-Patent ##
> +
> +INF FILE_GUID = $(POST_CODE_PEIM_FILENAME)
> +MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.i
> nf
> diff --git
> a/Features/Intel/Debugging/PostCodeDebugFeaturePkg/Library/PostCodeS
> tatusCodeHandlerLib/PeiPostCodeStatusCodeHandlerLib.inf
> b/Features/Intel/Debugging/PostCodeDebugFeaturePkg/Library/PostCodeS
> tatusCodeHandlerLib/PeiPostCodeStatusCodeHandlerLib.inf
> index c27578fe90..72df81c77f 100644
> ---
> a/Features/Intel/Debugging/PostCodeDebugFeaturePkg/Library/PostCodeS
> tatusCodeHandlerLib/PeiPostCodeStatusCodeHandlerLib.inf
> +++
> b/Features/Intel/Debugging/PostCodeDebugFeaturePkg/Library/PostCodeS
> +++ tatusCodeHandlerLib/PeiPostCodeStatusCodeHandlerLib.inf
> @@ -15,7 +15,7 @@
>    FILE_GUID                      = FA32350A-63DB-4AC6-88D1-BC5327EE7ECE
>    MODULE_TYPE                    = PEIM
>    CONSTRUCTOR                    = PeiPostCodeStatusCodeHandlerLibConstructor
> -  LIBRARY_CLASS                  = StatusCodeHandlerLib|SEC PEIM PEI_COR
> +  LIBRARY_CLASS                  = StatusCodeHandlerLib|SEC PEIM PEI_CORE
> 
>  #
>  # The following information is for reference only and not required by the
> build tools.
> diff --git
> a/Features/Intel/Debugging/PostCodeDebugFeaturePkg/PostCodeDebugFe
> aturePkg.dec
> b/Features/Intel/Debugging/PostCodeDebugFeaturePkg/PostCodeDebugFe
> aturePkg.dec
> index 5ba7b30ab6..42ac756a7c 100644
> ---
> a/Features/Intel/Debugging/PostCodeDebugFeaturePkg/PostCodeDebugFe
> aturePkg.dec
> +++
> b/Features/Intel/Debugging/PostCodeDebugFeaturePkg/PostCodeDebugFe
> at
> +++ urePkg.dec
> @@ -28,5 +28,16 @@
>  [Guids]
>    gPostCodeDebugFeaturePkgTokenSpaceGuid  =  {0x68886ac8, 0x7a29,
> 0x4845, {0xa7, 0x02, 0xe9, 0x83, 0xc8, 0x7f, 0xfb, 0xab}}
> 
> +[PcdsFeatureFlag]
> +
> +gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureE
> nable|FA
> +LSE|BOOLEAN|0x00000002
> +
>  [PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]
> +  ## This PCD allows for dynamic control of post code use if so desired.
> +  #
> +  #  The PCD value can be modified at boot time to activate and deactivate
> the feature functionality.
> +  #
> +  #  Note that this differs from Pcd<FeatureName>FeatureEnable which
> + determines whether the feature is included  #  as an advanced feature
> + in the flash image. If enabled, the feature is then eligible to be
> activated/deactivated  #  via this PCD.
> +  #
> 
> gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUsePostCode|
> FALSE|BOOLEAN|0x00000001
> diff --git
> a/Features/Intel/Debugging/PostCodeDebugFeaturePkg/PostCodeDebugFe
> aturePkg.dsc
> b/Features/Intel/Debugging/PostCodeDebugFeaturePkg/PostCodeDebugFe
> aturePkg.dsc
> index 4f0bec4a6f..349604098f 100644
> ---
> a/Features/Intel/Debugging/PostCodeDebugFeaturePkg/PostCodeDebugFe
> aturePkg.dsc
> +++
> b/Features/Intel/Debugging/PostCodeDebugFeaturePkg/PostCodeDebugFe
> at
> +++ urePkg.dsc
> @@ -24,6 +24,36 @@
>    PEI_ARCH                       = IA32
>    DXE_ARCH                       = X64
> 
> +[Packages]
> +  MinPlatformPkg/MinPlatformPkg.dec
> +
> +[PcdsFeatureFlag]
> +  #
> +  # PCD needed for MinPlatform build includes
> +  #
> +  gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable
> |FALSE
> +  gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable
> |FALSE
> +  gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable
> |FALSE
> +
> +[PcdsDynamicExDefault]
> +  #
> +  # PCD needed for this feature to build
> +  #
> +
> gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUsePostCode|
> TRUE
> +
> +#
> +# Include common libraries
> +#
> +!include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
> +!include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
> +!include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
> +
> +[LibraryClasses.Common]
> +  #
> +  # Required by common status code handler infrastructure
> +  #
> +
> +PlatformHookLib|MdeModulePkg/Library/BasePlatformHookLibNull/BasePl
> atfo
> +rmHookLibNull.inf
> +
>  #
>  # This package always builds the feature.
>  #
> diff --git
> a/Features/Intel/Debugging/PostCodeDebugFeaturePkg/Readme.md
> b/Features/Intel/Debugging/PostCodeDebugFeaturePkg/Readme.md
> index c49db35999..3fc52f1c00 100644
> --- a/Features/Intel/Debugging/PostCodeDebugFeaturePkg/Readme.md
> +++ b/Features/Intel/Debugging/PostCodeDebugFeaturePkg/Readme.md
> @@ -16,7 +16,7 @@ It also provide a library of PostCodeMap lib, it map the
> status code to post cod  A library of PostCode lib is needed by platform.
> 
>  In the library contstructor function, PostCodeStatusCodeHandlerLib register
> the call back function for ReportStatusCode.
> -When called, it call GetPostCodeFromStatusCode() in PostCodeMapLib to
> get post code from status code, and call PostCode() in PostCodeLib to show
> the post code.
> +When called, it call GetPostCodeFromStatusCode () in PostCodeMapLib to
> get post code from status code, and call PostCode () in PostCodeLib to show
> the post code.
> 
>  PostCodeStatusCodeHandlerLib include 3 libraries for PEI, RuntimeDxe,
> SMM:
>  * PeiPostCodeStatusCodeHandlerLib
> @@ -38,6 +38,7 @@ This library provide a function to get post code from
> status code.
> 
>  ## Key Functions
>  * In PeiPostCodeStatusCodeHandlerLib:
> +```
>    EFI_STATUS
>    EFIAPI
>    PostCodeStatusCodeReportWorker (
> @@ -48,8 +49,10 @@ This library provide a function to get post code from
> status code.
>      IN CONST EFI_GUID                 *CallerId,
>      IN CONST EFI_STATUS_CODE_DATA     *Data OPTIONAL
>    )
> +```
> 
>  * In RuntimeDxePostCodeStatusCodeHandlerLib:
> +```
>    EFI_STATUS
>    EFIAPI
>    PostCodeStatusCodeReportWorker (
> @@ -59,8 +62,10 @@ This library provide a function to get post code from
> status code.
>      IN EFI_GUID                       *CallerId,
>      IN EFI_STATUS_CODE_DATA           *Data OPTIONAL
>    )
> +```
> 
>  * In SmmPostCodeStatusCodeHandlerLib:
> +```
>    EFI_STATUS
>    EFIAPI
>    PostCodeStatusCodeReportWorker (
> @@ -70,23 +75,28 @@ This library provide a function to get post code from
> status code.
>      IN EFI_GUID                       *CallerId,
>      IN EFI_STATUS_CODE_DATA           *Data OPTIONAL
>      )
> +```
> 
>  * In PostCodeMapLib:
> +```
>    UINT32
>    EFIAPI
>    GetPostCodeFromStatusCode (
>      IN EFI_STATUS_CODE_TYPE           CodeType,
>      IN EFI_STATUS_CODE_VALUE          Value
>    )
> +```
> 
>  ## Configuration
> -* Link the library to StatusCodeHandler.efi.
> +* Link the library to StatusCodeHandler.efi to add this status code handler.
> +```
>    Example:
> 
> MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHan
> dlerRuntimeDxe.inf {
>        <LibraryClasses>
> 
> NULL|PostCodeDebugFeaturePkg/Library/PostCodeStatusCodeHandlerLib/R
> untimeDxePostCodeStatusCodeHandlerLib.inf
>      }
> -  Refer to PostCodeDebugFeature.dsc for other example.
> +```
> +  Refer to PostCodeDebugFeature.dsc for another example.
>  * Config PCD
> gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUsePostCode.
>    In platform .dsc file, need to config the type of
> gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUsePostCode.
>    Use PcdsFixedAtBuild to save binary size, and use PcdsDynamic if want to
> enable/disable in runtime.
> @@ -98,20 +108,23 @@ This library provide a function to get post code from
> status code.
>  Status Code (ReportStatusCode) -> Post Code
> (GetPostCodeFromStatusCode).
> 
>  ## Control Flows
> -ReportStatusCode() -> PostCodeStatusCodeReportWorker() ->
> GetPostCodeFromStatusCode() -> PostCode()
> +ReportStatusCode () -> PostCodeStatusCodeReportWorker () ->
> +GetPostCodeFromStatusCode () -> PostCode ()
> 
>  ## Build Flows
> -There is not special build flows.
> +There are not special build flows.
> 
>  ## Test Point Results
> -Verify the post code shown is correct.
> +There are no test points defined.
> 
>  ## Functional Exit Criteria
>  N/A
> 
>  ## Feature Enabling Checklist
> -* Set the PCD
> gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUsePostCode
> to TRUE.
> -* The post code can be shown.
> +* Set the PCD
> gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureEn
> able to TRUE.
> +* Select the PCD type desired and set the PCD
> gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUsePostCode
> to TRUE.
> +* Implemented a platform specific PostCodeMapLib if needed.
> +* Verify the post code can be shown correctly.
> 
>  ## Common Optimizations
> -* Implemented platform's special PostCodeMapLib if needed.
> +* Set
> gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUsePostCode
> +based on a larger, board specific, size
> +  optimization or performance optimization setting.
> --
> 2.27.0.windows.1
> 
> 
> 
> 
> 


^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 03/27] AcpiDebugFeaturePkg: Fix all relative package paths
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 03/27] AcpiDebugFeaturePkg: " Oram, Isaac W
@ 2022-01-13  2:48   ` Nate DeSimone
  2022-01-14  5:18   ` Chaganty, Rangasai V
  1 sibling, 0 replies; 86+ messages in thread
From: Nate DeSimone @ 2022-01-13  2:48 UTC (permalink / raw)
  To: devel@edk2.groups.io, Oram, Isaac W
  Cc: Chaganty, Rangasai V, Gao, Liming, Dong, Eric

Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Oram,
> Isaac W
> Sent: Tuesday, January 11, 2022 6:20 PM
> To: devel@edk2.groups.io
> Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Chaganty, Rangasai V
> <rangasai.v.chaganty@intel.com>; Gao, Liming
> <gaoliming@byosoft.com.cn>; Dong, Eric <eric.dong@intel.com>
> Subject: [edk2-devel][edk2-platforms][PATCH V1 03/27]
> AcpiDebugFeaturePkg: Fix all relative package paths
> 
> Packages should be at the root of a PACKAGES_PATH entry.
> At some point, paths were relative to edk2-platforms/Features/Intel which
> was functional, but interferes with the proper functioning of packaging tools.
> 
> Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> Cc: Eric Dong <eric.dong@intel.com>
> 
> Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
> ---
> 
> Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiD
> ebugDxe.inf | 2 +-
> Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiD
> ebugSmm.inf | 2 +-
> 
> Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
> | 2 +-
> 
> Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeatur
> e.dsc     | 4 ++--
>  Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf
> | 4 ++--
>  5 files changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git
> a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/Acp
> iDebugDxe.inf
> b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/Ac
> piDebugDxe.inf
> index b293d83cd9..04b5953bf6 100644
> ---
> a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/Acp
> iDebugDxe.inf
> +++
> b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/Ac
> piD
> +++ ebugDxe.inf
> @@ -32,7 +32,7 @@
>  [Packages]
>    MdePkg/MdePkg.dec
>    MdeModulePkg/MdeModulePkg.dec
> -  Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
> +  AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
> 
>  [Pcd]
>    gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureActive  ##
> CONSUMES diff --git
> a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/Acp
> iDebugSmm.inf
> b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/Ac
> piDebugSmm.inf
> index dbb33e4ae2..a0058b51ab 100644
> ---
> a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/Acp
> iDebugSmm.inf
> +++
> b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/Ac
> piD
> +++ ebugSmm.inf
> @@ -33,7 +33,7 @@
>  [Packages]
>    MdePkg/MdePkg.dec
>    MdeModulePkg/MdeModulePkg.dec
> -  Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
> +  AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
> 
>  [Pcd]
>    gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureActive  ##
> CONSUMES diff --git
> a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.d
> ec
> b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.d
> ec
> index c3bd89fe2b..9159231007 100644
> ---
> a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.d
> ec
> +++
> b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.d
> +++ ec
> @@ -29,7 +29,7 @@
>  [PcdsFeatureFlag]
> 
> gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable|FALSE
> |BOOLEAN|0xA0000001
> 
> -[PcdsFixedAtBuild,PcdsPatchableInModule,PcdsDynamic,PcdsDynamicEx]
> +[PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]
>    ## This PCD specifies the ACPI debug message buffer size.
> 
> gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugBufferSize|0x10000|
> UINT32|0xF0000001
> 
> diff --git
> a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeat
> ure.dsc
> b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeat
> ure.dsc
> index 856222a53d..b142978be1 100644
> ---
> a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeat
> ure.dsc
> +++
> b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeat
> +++ ure.dsc
> @@ -109,8 +109,8 @@
>    # in the package build.
> 
>    # Add components here that should be included in the package build.
> -  Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf
> -  Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf
> +  AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf
> +  AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf
> 
> 
> ##########################################################
> #########################################
>  #
> diff --git
> a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fd
> f
> b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fd
> f
> index bbd6eca87b..84560dae50 100644
> ---
> a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fd
> f
> +++
> b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fd
> +++ f
> @@ -7,5 +7,5 @@
>  #
>  ##
> 
> -  INF RuleOverride = DRIVER_ACPITABLE
> Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf
> -  INF RuleOverride = DRIVER_ACPITABLE
> Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf
> +  INF RuleOverride = DRIVER_ACPITABLE
> + AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf
> +  INF RuleOverride = DRIVER_ACPITABLE
> + AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf
> --
> 2.27.0.windows.1
> 
> 
> 
> 
> 


^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 04/27] IpmiFeaturePkg: Fix all relative package paths
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 04/27] IpmiFeaturePkg: " Oram, Isaac W
@ 2022-01-13  2:48   ` Nate DeSimone
  2022-01-19  0:02     ` Oram, Isaac W
  0 siblings, 1 reply; 86+ messages in thread
From: Nate DeSimone @ 2022-01-13  2:48 UTC (permalink / raw)
  To: Oram, Isaac W, devel@edk2.groups.io; +Cc: Gao, Liming

Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>

> -----Original Message-----
> From: Oram, Isaac W <isaac.w.oram@intel.com>
> Sent: Tuesday, January 11, 2022 6:20 PM
> To: devel@edk2.groups.io
> Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Gao, Liming
> <gaoliming@byosoft.com.cn>; Desimone, Nathaniel L
> <nathaniel.l.desimone@intel.com>
> Subject: [edk2-devel][edk2-platforms][PATCH V1 04/27] IpmiFeaturePkg: Fix
> all relative package paths
> 
> Packages should be at the root of a PACKAGES_PATH entry.
> At some point, paths were relative to edk2-platforms/Features/Intel which
> was functional, but interferes with the proper functioning of packaging tools.
> 
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
> 
> Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
> ---
> 
> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcAcpi/BmcAcpi.
> inf                                         |  2 +-
> 
> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/BmcElog.i
> nf                                         |  2 +-
>  Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbDxe.inf
> |  2 +-
>  Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbPei.inf
> |  2 +-
> 
> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dxe/
> GenericIpmi.inf                             |  2 +-
> 
> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Pei/P
> eiGenericIpmi.inf                          |  2 +-
> 
> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Smm
> /SmmGenericIpmi.inf                          |  2 +-
> 
> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeatu
> re.dsc                                     | 36 ++++++++++----------
> 
> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMem
> ory.fdf                                      | 16 ++++-----
> 
> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PreMemo
> ry.fdf                                       |  6 ++--
> 
> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFru/IpmiFru.in
> f                                         |  2 +-
> 
> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/DxeIpmiI
> nit.inf                                    |  2 +-
> 
> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/PeiIpmiIni
> t.inf                                    |  2 +-
> 
> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBaseLi
> b/IpmiBaseLib.inf                         |  2 +-
> 
> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBaseLi
> bNull/IpmiBaseLibNull.inf                 |  2 +-
> 
> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiComm
> andLib/IpmiCommandLib.inf                   |  2 +-
> 
> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiPlatfor
> mHookLibNull/IpmiPlatformHookLibNull.inf |  2 +-
> 
> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/PeiIpmiBas
> eLib/PeiIpmiBaseLib.inf                   |  2 +-
> 
> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/SmmIpmiB
> aseLib/SmmIpmiBaseLib.inf                   |  2 +-
>  Features/Intel/OutOfBandManagement/IpmiFeaturePkg/OsWdt/OsWdt.inf
> |  2 +-
> 
> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/SolStatus/SolStatu
> s.inf                                     |  2 +-
>  21 files changed, 47 insertions(+), 47 deletions(-)
> 
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcAcpi/BmcAc
> pi.inf
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcAcpi/BmcAc
> pi.inf
> index a84813f55c..7cd60e417b 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcAcpi/BmcAc
> pi.inf
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcAcpi/BmcAc
> pi.
> +++ inf
> @@ -22,7 +22,7 @@
>  [Packages]
>    MdePkg/MdePkg.dec
>    MdeModulePkg/MdeModulePkg.dec
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
> +  IpmiFeaturePkg/IpmiFeaturePkg.dec
> 
>  [LibraryClasses]
>    UefiBootServicesTableLib
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/BmcElo
> g.inf
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/BmcElo
> g.inf
> index 665b3d9bda..388dd2740c 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/BmcElo
> g.inf
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/BmcElo
> g.
> +++ inf
> @@ -21,7 +21,7 @@
> 
>  [Packages]
>    MdePkg/MdePkg.dec
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
> +  IpmiFeaturePkg/IpmiFeaturePkg.dec
> 
>  [LibraryClasses]
>    UefiDriverEntryPoint
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbDxe.inf
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbDxe.inf
> index 85836cd8ee..61222e0c00 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbDxe.inf
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbDxe.inf
> @@ -21,7 +21,7 @@
>  [Packages]
>    MdePkg/MdePkg.dec
>    MdeModulePkg/MdeModulePkg.dec
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
> +  IpmiFeaturePkg/IpmiFeaturePkg.dec
> 
>  [LibraryClasses]
>    UefiBootServicesTableLib
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbPei.inf
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbPei.inf
> index 7ad00ae574..797dbe6a07 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbPei.inf
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbPei.inf
> @@ -20,7 +20,7 @@
> 
>  [Packages]
>    MdePkg/MdePkg.dec
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
> +  IpmiFeaturePkg/IpmiFeaturePkg.dec
> 
>  [LibraryClasses]
>    PeimEntryPoint
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dx
> e/GenericIpmi.inf
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dx
> e/GenericIpmi.inf
> index 9881f9e3d0..8d80aeb6b5 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dx
> e/GenericIpmi.inf
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dx
> e/
> +++ GenericIpmi.inf
> @@ -36,7 +36,7 @@
> 
>  [Packages]
>    MdePkg/MdePkg.dec
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
> +  IpmiFeaturePkg/IpmiFeaturePkg.dec
> 
>  [LibraryClasses]
>    MemoryAllocationLib
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Pei
> /PeiGenericIpmi.inf
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Pei
> /PeiGenericIpmi.inf
> index 883a9168e5..a646161ce1 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Pei
> /PeiGenericIpmi.inf
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Pei
> /
> +++ PeiGenericIpmi.inf
> @@ -33,7 +33,7 @@
> 
>  [Packages]
>    MdePkg/MdePkg.dec
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
> +  IpmiFeaturePkg/IpmiFeaturePkg.dec
> 
>  [LibraryClasses]
>    PeimEntryPoint
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Sm
> m/SmmGenericIpmi.inf
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Sm
> m/SmmGenericIpmi.inf
> index a534f7dac8..f430195d1e 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Sm
> m/SmmGenericIpmi.inf
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Sm
> m/
> +++ SmmGenericIpmi.inf
> @@ -27,7 +27,7 @@
> 
>  [Packages]
>    MdePkg/MdePkg.dec
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
> +  IpmiFeaturePkg/IpmiFeaturePkg.dec
> 
>  [LibraryClasses]
>    MemoryAllocationLib
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFea
> ture.dsc
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFea
> ture.dsc
> index a6eccb428b..c1ce340da2 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFea
> ture.dsc
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFea
> t
> +++ ure.dsc
> @@ -47,8 +47,8 @@
>    #####################################
>    # IPMI Feature Package
>    #####################################
> -
> IpmiCommandLib|OutOfBandManagement/IpmiFeaturePkg/Library/IpmiCo
> mmandLib/IpmiCommandLib.inf
> -
> IpmiPlatformHookLib|OutOfBandManagement/IpmiFeaturePkg/Library/Ipm
> iPlatformHookLibNull/IpmiPlatformHookLibNull.inf
> +
> +
> IpmiCommandLib|IpmiFeaturePkg/Library/IpmiCommandLib/IpmiCommand
> Lib.in
> + f
> +
> IpmiPlatformHookLib|IpmiFeaturePkg/Library/IpmiPlatformHookLibNull/Ipm
> + iPlatformHookLibNull.inf
> 
>  [LibraryClasses.common.PEI_CORE,LibraryClasses.common.PEIM]
>    #######################################
> @@ -65,7 +65,7 @@
>    #####################################
>    # IPMI Feature Package
>    #####################################
> -
> IpmiBaseLib|OutOfBandManagement/IpmiFeaturePkg/Library/PeiIpmiBaseL
> ib/PeiIpmiBaseLib.inf
> +  IpmiBaseLib|IpmiFeaturePkg/Library/PeiIpmiBaseLib/PeiIpmiBaseLib.inf
> 
>  [LibraryClasses.common.DXE_DRIVER,LibraryClasses.common.UEFI_DRIVER]
>    #######################################
> @@ -82,7 +82,7 @@
>    #####################################
>    # IPMI Feature Package
>    #####################################
> -
> IpmiBaseLib|OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBaseLib/
> IpmiBaseLib.inf
> +  IpmiBaseLib|IpmiFeaturePkg/Library/IpmiBaseLib/IpmiBaseLib.inf
> 
> 
> ##########################################################
> ######################
>  #
> @@ -112,14 +112,14 @@
>    # Add library instances here that are not included in package components
> and should be tested
>    # in the package build.
> 
> -
> OutOfBandManagement/IpmiFeaturePkg/Library/IpmiPlatformHookLibNull/
> IpmiPlatformHookLibNull.inf
> +
> +
> IpmiFeaturePkg/Library/IpmiPlatformHookLibNull/IpmiPlatformHookLibNull
> + .inf
> 
>    #
>    # Add components here that should be included in the package build.
>    #
> -
> OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Pei/PeiGenericIpmi.i
> nf
> -  OutOfBandManagement/IpmiFeaturePkg/Frb/FrbPei.inf
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiInit/PeiIpmiInit.inf
> +  IpmiFeaturePkg/GenericIpmi/Pei/PeiGenericIpmi.inf
> +  IpmiFeaturePkg/Frb/FrbPei.inf
> +  IpmiFeaturePkg/IpmiInit/PeiIpmiInit.inf
> 
>  #
>  # Feature DXE Components
> @@ -135,20 +135,20 @@
>    # Add library instances here that are not included in package components
> and should be tested
>    # in the package build.
> 
> -
> OutOfBandManagement/IpmiFeaturePkg/Library/IpmiPlatformHookLibNull/
> IpmiPlatformHookLibNull.inf
> +
> +
> IpmiFeaturePkg/Library/IpmiPlatformHookLibNull/IpmiPlatformHookLibNull
> + .inf
> 
>    #
>    # Add components here that should be included in the package build.
>    #
> -
> OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dxe/GenericIpmi.inf
> -
> OutOfBandManagement/IpmiFeaturePkg/Library/SmmIpmiBaseLib/SmmIp
> miBaseLib.inf
> -  OutOfBandManagement/IpmiFeaturePkg/BmcAcpi/BmcAcpi.inf
> -  OutOfBandManagement/IpmiFeaturePkg/BmcElog/BmcElog.inf
> -  OutOfBandManagement/IpmiFeaturePkg/Frb/FrbDxe.inf
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiFru/IpmiFru.inf
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiInit/DxeIpmiInit.inf
> -  OutOfBandManagement/IpmiFeaturePkg/OsWdt/OsWdt.inf
> -  OutOfBandManagement/IpmiFeaturePkg/SolStatus/SolStatus.inf
> +  IpmiFeaturePkg/GenericIpmi/Dxe/GenericIpmi.inf
> +  IpmiFeaturePkg/Library/SmmIpmiBaseLib/SmmIpmiBaseLib.inf
> +  IpmiFeaturePkg/BmcAcpi/BmcAcpi.inf
> +  IpmiFeaturePkg/BmcElog/BmcElog.inf
> +  IpmiFeaturePkg/Frb/FrbDxe.inf
> +  IpmiFeaturePkg/IpmiFru/IpmiFru.inf
> +  IpmiFeaturePkg/IpmiInit/DxeIpmiInit.inf
> +  IpmiFeaturePkg/OsWdt/OsWdt.inf
> +  IpmiFeaturePkg/SolStatus/SolStatus.inf
> 
> 
> ##########################################################
> #########################################
>  #
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMe
> mory.fdf
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMe
> mory.fdf
> index cbd9453cf0..158b5455d8 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMe
> mory.fdf
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMe
> mo
> +++ ry.fdf
> @@ -7,11 +7,11 @@
>  #
>  ##
> 
> -  INF
> OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dxe/GenericIpmi.inf
> -  INF OutOfBandManagement/IpmiFeaturePkg/IpmiInit/DxeIpmiInit.inf
> -  INF RuleOverride = DRIVER_ACPITABLE
> OutOfBandManagement/IpmiFeaturePkg/BmcAcpi/BmcAcpi.inf
> -  INF OutOfBandManagement/IpmiFeaturePkg/BmcElog/BmcElog.inf
> -  INF OutOfBandManagement/IpmiFeaturePkg/Frb/FrbDxe.inf
> -  INF OutOfBandManagement/IpmiFeaturePkg/IpmiFru/IpmiFru.inf
> -  INF OutOfBandManagement/IpmiFeaturePkg/OsWdt/OsWdt.inf
> -  INF OutOfBandManagement/IpmiFeaturePkg/SolStatus/SolStatus.inf
> +  INF IpmiFeaturePkg/GenericIpmi/Dxe/GenericIpmi.inf
> +  INF IpmiFeaturePkg/IpmiInit/DxeIpmiInit.inf
> +  INF RuleOverride = DRIVER_ACPITABLE
> + IpmiFeaturePkg/BmcAcpi/BmcAcpi.inf
> +  INF IpmiFeaturePkg/BmcElog/BmcElog.inf
> +  INF IpmiFeaturePkg/Frb/FrbDxe.inf
> +  INF IpmiFeaturePkg/IpmiFru/IpmiFru.inf
> +  INF IpmiFeaturePkg/OsWdt/OsWdt.inf
> +  INF IpmiFeaturePkg/SolStatus/SolStatus.inf
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PreMe
> mory.fdf
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PreMe
> mory.fdf
> index 826490952b..d214988bd1 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PreMe
> mory.fdf
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PreMe
> mor
> +++ y.fdf
> @@ -7,6 +7,6 @@
>  #
>  ##
> 
> -INF
> OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Pei/PeiGenericIpmi.i
> nf
> -INF OutOfBandManagement/IpmiFeaturePkg/IpmiInit/PeiIpmiInit.inf
> -INF OutOfBandManagement/IpmiFeaturePkg/Frb/FrbPei.inf
> +INF IpmiFeaturePkg/GenericIpmi/Pei/PeiGenericIpmi.inf
> +INF IpmiFeaturePkg/IpmiInit/PeiIpmiInit.inf
> +INF IpmiFeaturePkg/Frb/FrbPei.inf
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFru/IpmiFru
> .inf
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFru/IpmiFru
> .inf
> index 0778b221c1..322f061a0f 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFru/IpmiFru
> .inf
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFru/IpmiFru
> .
> +++ inf
> @@ -21,7 +21,7 @@
> 
>  [Packages]
>    MdePkg/MdePkg.dec
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
> +  IpmiFeaturePkg/IpmiFeaturePkg.dec
> 
>  [LibraryClasses]
>    UefiDriverEntryPoint
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/DxeIpm
> iInit.inf
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/DxeIpm
> iInit.inf
> index 831bfb0b5e..8236fe4842 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/DxeIpm
> iInit.inf
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/DxeIpm
> i
> +++ Init.inf
> @@ -21,7 +21,7 @@
>  [Packages]
>    MdePkg/MdePkg.dec
>    MdeModulePkg/MdeModulePkg.dec
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
> +  IpmiFeaturePkg/IpmiFeaturePkg.dec
> 
>  [LibraryClasses]
>    UefiBootServicesTableLib
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/PeiIpmi
> Init.inf
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/PeiIpmi
> Init.inf
> index 607a185eb6..3fb31c729a 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/PeiIpmi
> Init.inf
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/PeiIpmi
> +++ Init.inf
> @@ -21,7 +21,7 @@
>  [Packages]
>    MdePkg/MdePkg.dec
>    MdeModulePkg/MdeModulePkg.dec
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
> +  IpmiFeaturePkg/IpmiFeaturePkg.dec
> 
>  [LibraryClasses]
>    PeimEntryPoint
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBas
> eLib/IpmiBaseLib.inf
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBas
> eLib/IpmiBaseLib.inf
> index 86df943560..72ca3495fb 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBas
> eLib/IpmiBaseLib.inf
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBas
> e
> +++ Lib/IpmiBaseLib.inf
> @@ -18,7 +18,7 @@
> 
>  [Packages]
>    MdePkg/MdePkg.dec
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
> +  IpmiFeaturePkg/IpmiFeaturePkg.dec
> 
>  [LibraryClasses]
>    UefiBootServicesTableLib
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBas
> eLibNull/IpmiBaseLibNull.inf
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBas
> eLibNull/IpmiBaseLibNull.inf
> index 5478f9842b..52f8863032 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBas
> eLibNull/IpmiBaseLibNull.inf
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBas
> e
> +++ LibNull/IpmiBaseLibNull.inf
> @@ -24,7 +24,7 @@
> 
>  [Packages]
>    MdePkg/MdePkg.dec
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
> +  IpmiFeaturePkg/IpmiFeaturePkg.dec
> 
>  [LibraryClasses]
>    BaseLib
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiCom
> mandLib/IpmiCommandLib.inf
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiCo
> mmandLib/IpmiCommandLib.inf
> index f8e7ba5a8f..d5c14ff2a4 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiCom
> mandLib/IpmiCommandLib.inf
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiCo
> mm
> +++ andLib/IpmiCommandLib.inf
> @@ -24,7 +24,7 @@
>  [Packages]
>    MdePkg/MdePkg.dec
>    MdeModulePkg/MdeModulePkg.dec
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
> +  IpmiFeaturePkg/IpmiFeaturePkg.dec
> 
>  [LibraryClasses]
>    BaseMemoryLib
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiPlatf
> ormHookLibNull/IpmiPlatformHookLibNull.inf
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiPlat
> formHookLibNull/IpmiPlatformHookLibNull.inf
> index ab270079aa..8e472ebdad 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiPlatf
> ormHookLibNull/IpmiPlatformHookLibNull.inf
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiPlat
> +++ formHookLibNull/IpmiPlatformHookLibNull.inf
> @@ -20,7 +20,7 @@
> 
>  [Packages]
>    MdePkg/MdePkg.dec
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
> +  IpmiFeaturePkg/IpmiFeaturePkg.dec
> 
>  [LibraryClasses]
>    DebugLib
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/PeiIpmiB
> aseLib/PeiIpmiBaseLib.inf
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/PeiIpmiB
> aseLib/PeiIpmiBaseLib.inf
> index 9a2c87873f..234492db65 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/PeiIpmiB
> aseLib/PeiIpmiBaseLib.inf
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/PeiIpmiB
> +++ aseLib/PeiIpmiBaseLib.inf
> @@ -18,7 +18,7 @@
> 
>  [Packages]
>    MdePkg/MdePkg.dec
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
> +  IpmiFeaturePkg/IpmiFeaturePkg.dec
> 
>  [LibraryClasses]
>    DebugLib
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/SmmIpm
> iBaseLib/SmmIpmiBaseLib.inf
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/SmmIp
> miBaseLib/SmmIpmiBaseLib.inf
> index bb1ccf1ca2..7ea688fc16 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/SmmIpm
> iBaseLib/SmmIpmiBaseLib.inf
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/SmmIp
> miB
> +++ aseLib/SmmIpmiBaseLib.inf
> @@ -18,7 +18,7 @@
> 
>  [Packages]
>    MdePkg/MdePkg.dec
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
> +  IpmiFeaturePkg/IpmiFeaturePkg.dec
> 
>  [LibraryClasses]
>    UefiBootServicesTableLib
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/OsWdt/OsWdt.i
> nf
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/OsWdt/OsWdt.i
> nf
> index 7e7d2826cb..3fd1078271 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/OsWdt/OsWdt.i
> nf
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/OsWdt/OsWdt.i
> nf
> @@ -20,7 +20,7 @@
> 
>  [Packages]
>    MdePkg/MdePkg.dec
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
> +  IpmiFeaturePkg/IpmiFeaturePkg.dec
> 
>  [LibraryClasses]
>    UefiDriverEntryPoint
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/SolStatus/SolSta
> tus.inf
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/SolStatus/SolSta
> tus.inf
> index 826144e537..9019b849ac 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/SolStatus/SolSta
> tus.inf
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/SolStatus/SolSta
> +++ tus.inf
> @@ -21,7 +21,7 @@
> 
>  [Packages]
>    MdePkg/MdePkg.dec
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
> +  IpmiFeaturePkg/IpmiFeaturePkg.dec
> 
>  [Pcd]
>    gIpmiFeaturePkgTokenSpaceGuid.PcdMaxSOLChannels
> --
> 2.27.0.windows.1


^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 05/27] IpmiFeaturePkg: Fix build errors
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 05/27] IpmiFeaturePkg: Fix build errors Oram, Isaac W
@ 2022-01-13  2:48   ` Nate DeSimone
  2022-01-18 23:38     ` Oram, Isaac W
  0 siblings, 1 reply; 86+ messages in thread
From: Nate DeSimone @ 2022-01-13  2:48 UTC (permalink / raw)
  To: Oram, Isaac W, devel@edk2.groups.io; +Cc: Gao, Liming

Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>

> -----Original Message-----
> From: Oram, Isaac W <isaac.w.oram@intel.com>
> Sent: Tuesday, January 11, 2022 6:20 PM
> To: devel@edk2.groups.io
> Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Desimone, Nathaniel L
> <nathaniel.l.desimone@intel.com>; Gao, Liming
> <gaoliming@byosoft.com.cn>
> Subject: [edk2-devel][edk2-platforms][PATCH V1 05/27] IpmiFeaturePkg: Fix
> build errors
> 
> Fix build issues with standalone build.
> Switch to using MinPlatformPkg common core include for common modules.
> 
> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> 
> Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
> ---
> 
> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeatu
> re.dsc | 54 --------------------
> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMem
> ory.fdf  | 16 +++---
> 
> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.ds
> c      | 18 +++++++
>  3 files changed, 26 insertions(+), 62 deletions(-)
> 
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFea
> ture.dsc
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFea
> ture.dsc
> index c1ce340da2..237a4fc006 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFea
> ture.dsc
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFea
> t
> +++ ure.dsc
> @@ -34,54 +34,15 @@
>  !include MdePkg/MdeLibs.dsc.inc
> 
>  [LibraryClasses]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
> -
> BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibR
> epStr.inf
> -  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
>    IpmiLib|MdeModulePkg/Library/BaseIpmiLibNull/BaseIpmiLibNull.inf
> -  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
> -
> TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTem
> plate.inf
> 
> -  #####################################
> -  # IPMI Feature Package
> -  #####################################
> 
> IpmiCommandLib|IpmiFeaturePkg/Library/IpmiCommandLib/IpmiCommand
> Lib.inf
> 
> IpmiPlatformHookLib|IpmiFeaturePkg/Library/IpmiPlatformHookLibNull/Ipm
> iPlatformHookLibNull.inf
> 
>  [LibraryClasses.common.PEI_CORE,LibraryClasses.common.PEIM]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -  HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
> -
> MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemory
> AllocationLib.inf
> -  PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
> -  PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
> -  PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
> -
> PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/P
> eiServicesTablePointerLibIdt.inf
> -
> ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiR
> eportStatusCodeLib.inf
> -
> -  #####################################
> -  # IPMI Feature Package
> -  #####################################
>    IpmiBaseLib|IpmiFeaturePkg/Library/PeiIpmiBaseLib/PeiIpmiBaseLib.inf
> 
>  [LibraryClasses.common.DXE_DRIVER,LibraryClasses.common.UEFI_DRIVER]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
> -
> MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemo
> ryAllocationLib.inf
> -  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
> -
> UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBo
> otServicesTableLib.inf
> -
> UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntry
> Point.inf
> -  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
> -
> UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib
> /UefiRuntimeServicesTableLib.inf
> -
> -  #####################################
> -  # IPMI Feature Package
> -  #####################################
>    IpmiBaseLib|IpmiFeaturePkg/Library/IpmiBaseLib/IpmiBaseLib.inf
> 
> 
> ##########################################################
> ######################
> @@ -149,18 +110,3 @@
>    IpmiFeaturePkg/IpmiInit/DxeIpmiInit.inf
>    IpmiFeaturePkg/OsWdt/OsWdt.inf
>    IpmiFeaturePkg/SolStatus/SolStatus.inf
> -
> -
> ##########################################################
> #########################################
> -#
> -# BuildOptions Section - Define the module specific tool chain flags that
> should be used as
> -#                        the default flags for a module. These flags are appended to any
> -#                        standard flags that are defined by the build process. They can
> be
> -#                        applied for any modules or only those modules with the
> specific
> -#                        module style (EDK or EDKII) specified in [Components] section.
> -#
> -#                        For advanced features, it is recommended to enable
> [BuildOptions] in
> -#                        the applicable INF file so it does not affect the whole board
> package
> -#                        build when this DSC file is active.
> -#
> -
> ##########################################################
> #########################################
> -[BuildOptions]
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMe
> mory.fdf
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMe
> mory.fdf
> index 158b5455d8..e0f3bbe158 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMe
> mory.fdf
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMe
> mo
> +++ ry.fdf
> @@ -7,11 +7,11 @@
>  #
>  ##
> 
> -  INF IpmiFeaturePkg/GenericIpmi/Dxe/GenericIpmi.inf
> -  INF IpmiFeaturePkg/IpmiInit/DxeIpmiInit.inf
> -  INF RuleOverride = DRIVER_ACPITABLE
> IpmiFeaturePkg/BmcAcpi/BmcAcpi.inf
> -  INF IpmiFeaturePkg/BmcElog/BmcElog.inf
> -  INF IpmiFeaturePkg/Frb/FrbDxe.inf
> -  INF IpmiFeaturePkg/IpmiFru/IpmiFru.inf
> -  INF IpmiFeaturePkg/OsWdt/OsWdt.inf
> -  INF IpmiFeaturePkg/SolStatus/SolStatus.inf
> +INF IpmiFeaturePkg/GenericIpmi/Dxe/GenericIpmi.inf
> +INF IpmiFeaturePkg/IpmiInit/DxeIpmiInit.inf
> +INF RuleOverride = DRIVER_ACPITABLE
> IpmiFeaturePkg/BmcAcpi/BmcAcpi.inf
> +INF IpmiFeaturePkg/BmcElog/BmcElog.inf
> +INF IpmiFeaturePkg/Frb/FrbDxe.inf
> +INF IpmiFeaturePkg/IpmiFru/IpmiFru.inf
> +INF IpmiFeaturePkg/OsWdt/OsWdt.inf
> +INF IpmiFeaturePkg/SolStatus/SolStatus.inf
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.
> dsc
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.
> dsc
> index 6a3eed0882..c35e1e174e 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.
> dsc
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.
> d
> +++ sc
> @@ -25,6 +25,24 @@
>    PEI_ARCH                       = IA32
>    DXE_ARCH                       = X64
> 
> +[Packages]
> +  MinPlatformPkg/MinPlatformPkg.dec
> +
> +[PcdsFeatureFlag]
> +  #
> +  # PCD needed for MinPlatform build includes
> +  #
> +  gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable
> |FALSE
> +  gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable
> |FALSE
> +  gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable
> |FALSE
> +
> +#
> +# Include common libraries
> +#
> +!include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
> +!include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
> +!include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
> +
>  #
>  # This package always builds the feature.
>  #
> --
> 2.27.0.windows.1


^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 06/27] S3FeaturePkg: Fix all relative package paths
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 06/27] S3FeaturePkg: Fix all relative package paths Oram, Isaac W
@ 2022-01-13  2:48   ` Nate DeSimone
  2022-01-14  5:19   ` Chaganty, Rangasai V
  1 sibling, 0 replies; 86+ messages in thread
From: Nate DeSimone @ 2022-01-13  2:48 UTC (permalink / raw)
  To: devel@edk2.groups.io, Oram, Isaac W; +Cc: Chaganty, Rangasai V, Gao, Liming

Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Oram,
> Isaac W
> Sent: Tuesday, January 11, 2022 6:20 PM
> To: devel@edk2.groups.io
> Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Chaganty, Rangasai V
> <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
> Subject: [edk2-devel][edk2-platforms][PATCH V1 06/27] S3FeaturePkg: Fix all
> relative package paths
> 
> Packages should be at the root of a PACKAGES_PATH entry.
> At some point, paths were relative to edk2-platforms/Features/Intel which
> was functional, but interferes with the proper functioning of packaging tools.
> 
> Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> 
> Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
> ---
>  Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf
> | 2 +-
> Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc | 2
> +-
>  Features/Intel/PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf       | 2 +-
>  3 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git
> a/Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fd
> f
> b/Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fd
> f
> index 3cd5cd9628..34caf3dacc 100644
> ---
> a/Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fd
> f
> +++
> b/Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fd
> f
> @@ -7,4 +7,4 @@
>  #
>  ##
> 
> -  INF PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf
> +  INF S3FeaturePkg/S3Pei/S3Pei.inf
> diff --git
> a/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc
> b/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc
> index 312870981e..f94bd2b431 100644
> ---
> a/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc
> +++
> b/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc
> @@ -91,7 +91,7 @@
>    # in the package build.
> 
>    # Add components here that should be included in the package build.
> -  PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf
> +  S3FeaturePkg/S3Pei/S3Pei.inf
> 
>  #
>  # Feature DXE Components
> diff --git a/Features/Intel/PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf
> b/Features/Intel/PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf
> index 46fbb62a46..e485eac952 100644
> --- a/Features/Intel/PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf
> +++ b/Features/Intel/PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf
> @@ -23,7 +23,7 @@
>  [Packages]
>    MdePkg/MdePkg.dec
>    IntelSiliconPkg/IntelSiliconPkg.dec
> -  PowerManagement/S3FeaturePkg/S3FeaturePkg.dec
> +  S3FeaturePkg/S3FeaturePkg.dec
> 
>  [Sources]
>    S3Pei.c
> --
> 2.27.0.windows.1
> 
> 
> 
> 
> 


^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 07/27] S3FeaturePkg: Use MinPlatformPkg build include files
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 07/27] S3FeaturePkg: Use MinPlatformPkg build include files Oram, Isaac W
@ 2022-01-13  2:49   ` Nate DeSimone
  2022-01-14  5:29   ` Chaganty, Rangasai V
  1 sibling, 0 replies; 86+ messages in thread
From: Nate DeSimone @ 2022-01-13  2:49 UTC (permalink / raw)
  To: devel@edk2.groups.io, Oram, Isaac W; +Cc: Chaganty, Rangasai V, Gao, Liming

Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Oram,
> Isaac W
> Sent: Tuesday, January 11, 2022 6:20 PM
> To: devel@edk2.groups.io
> Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Chaganty, Rangasai V
> <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
> Subject: [edk2-devel][edk2-platforms][PATCH V1 07/27] S3FeaturePkg: Use
> MinPlatformPkg build include files
> 
> Use the MinPlatformPkg common core build files to build libraries needed by
> this feature.
> 
> Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> 
> Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
> ---
>  Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf
> |  2 +-
> Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc |
> 72 ++------------------
>  Features/Intel/PowerManagement/S3FeaturePkg/S3FeaturePkg.dsc      | 18
> +++++
>  3 files changed, 26 insertions(+), 66 deletions(-)
> 
> diff --git
> a/Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fd
> f
> b/Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fd
> f
> index 34caf3dacc..fdd16a4e03 100644
> ---
> a/Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fd
> f
> +++
> b/Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fd
> f
> @@ -7,4 +7,4 @@
>  #
>  ##
> 
> -  INF S3FeaturePkg/S3Pei/S3Pei.inf
> +INF S3FeaturePkg/S3Pei/S3Pei.inf
> diff --git
> a/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc
> b/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc
> index f94bd2b431..cc34e78507 100644
> ---
> a/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc
> +++
> b/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc
> @@ -18,12 +18,12 @@
>  #
> 
> ##########################################################
> ######################
>  [Defines]
> -!ifndef $(PEI_ARCH)
> -  !error "PEI_ARCH must be specified to build this feature!"
> -!endif
> -!ifndef $(DXE_ARCH)
> -  !error "DXE_ARCH must be specified to build this feature!"
> -!endif
> +  !ifndef $(PEI_ARCH)
> +    !error "PEI_ARCH must be specified to build this feature!"
> +  !endif
> +  !ifndef $(DXE_ARCH)
> +    !error "DXE_ARCH must be specified to build this feature!"
> +  !endif
> 
> 
> ##########################################################
> ######################
>  #
> @@ -31,34 +31,7 @@
>  #
> 
> ##########################################################
> ######################
> 
> -!include MdePkg/MdeLibs.dsc.inc
> -
> -[LibraryClasses]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
> -
> BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibR
> epStr.inf
> -  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
> -  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
> -  PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf
> -  PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
> -
> PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibP
> ci.inf
> -
> -[LibraryClasses.common.PEI_CORE,LibraryClasses.common.PEIM]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -  HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
> -
> MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemory
> AllocationLib.inf
> -  PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
> -  PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
> -  PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
> -
> PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/P
> eiServicesTablePointerLibIdt.inf
> -
> -  #######################################
> -  # Silicon Initialization Package
> -  #######################################
> +[LibraryClasses.common.PEIM]
> 
> SmmAccessLib|IntelSiliconPkg/Feature/SmmAccess/Library/PeiSmmAccessLi
> b/PeiSmmAccessLib.inf
> 
> 
> ##########################################################
> ######################
> @@ -92,34 +65,3 @@
> 
>    # Add components here that should be included in the package build.
>    S3FeaturePkg/S3Pei/S3Pei.inf
> -
> -#
> -# Feature DXE Components
> -#
> -
> -# @todo: Change below line to [Components.$(DXE_ARCH)] after
> https://bugzilla.tianocore.org/show_bug.cgi?id=2308
> -#        is completed.
> -[Components.X64]
> -  #####################################
> -  # S3 Feature Package
> -  #####################################
> -
> -  # Add library instances here that are not included in package components
> and should be tested
> -  # in the package build.
> -
> -  # Add components here that should be included in the package build.
> -
> -
> ##########################################################
> #########################################
> -#
> -# BuildOptions Section - Define the module specific tool chain flags that
> should be used as
> -#                        the default flags for a module. These flags are appended to any
> -#                        standard flags that are defined by the build process. They can
> be
> -#                        applied for any modules or only those modules with the
> specific
> -#                        module style (EDK or EDKII) specified in [Components] section.
> -#
> -#                        For advanced features, it is recommended to enable
> [BuildOptions] in
> -#                        the applicable INF file so it does not affect the whole board
> package
> -#                        build when this DSC file is active.
> -#
> -
> ##########################################################
> #########################################
> -[BuildOptions]
> diff --git
> a/Features/Intel/PowerManagement/S3FeaturePkg/S3FeaturePkg.dsc
> b/Features/Intel/PowerManagement/S3FeaturePkg/S3FeaturePkg.dsc
> index 28ee49d429..e16a1f8d00 100644
> --- a/Features/Intel/PowerManagement/S3FeaturePkg/S3FeaturePkg.dsc
> +++ b/Features/Intel/PowerManagement/S3FeaturePkg/S3FeaturePkg.dsc
> @@ -24,6 +24,24 @@
>    PEI_ARCH                       = IA32
>    DXE_ARCH                       = X64
> 
> +[Packages]
> +  MinPlatformPkg/MinPlatformPkg.dec
> +
> +[PcdsFeatureFlag]
> +  #
> +  # PCD needed for MinPlatform build includes
> +  #
> +  gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable
> |FALSE
> +  gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable
> |FALSE
> +  gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable
> |FALSE
> +
> +#
> +# Include common libraries
> +#
> +!include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
> +!include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
> +!include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
> +
>  #
>  # This package always builds the feature.
>  #
> --
> 2.27.0.windows.1
> 
> 
> 
> 
> 


^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 08/27] SmbiosFeaturePkg: Fix all relative package paths
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 08/27] SmbiosFeaturePkg: Fix all relative package paths Oram, Isaac W
@ 2022-01-13  2:49   ` Nate DeSimone
  2022-01-14  5:31   ` Chaganty, Rangasai V
  1 sibling, 0 replies; 86+ messages in thread
From: Nate DeSimone @ 2022-01-13  2:49 UTC (permalink / raw)
  To: devel@edk2.groups.io, Oram, Isaac W; +Cc: Chaganty, Rangasai V, Gao, Liming

Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Oram,
> Isaac W
> Sent: Tuesday, January 11, 2022 6:20 PM
> To: devel@edk2.groups.io
> Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Chaganty, Rangasai V
> <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
> Subject: [edk2-devel][edk2-platforms][PATCH V1 08/27] SmbiosFeaturePkg:
> Fix all relative package paths
> 
> Packages should be at the root of a PACKAGES_PATH entry.
> At some point, paths were relative to edk2-platforms/Features/Intel which
> was functional, but interferes with the proper functioning of packaging tools.
> 
> Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> 
> Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
> ---
> 
> Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemory
> .fdf            |  2 +-
> 
> Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeatu
> re.dsc         |  2 +-
> 
> Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/Smb
> iosBasicDxe.inf |  2 +-
> 
> Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.d
> ec              | 10 +++++-----
>  4 files changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git
> a/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemo
> ry.fdf
> b/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMem
> ory.fdf
> index 3ed23bd937..c3a3e81503 100644
> ---
> a/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemo
> ry.fdf
> +++
> b/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMem
> o
> +++ ry.fdf
> @@ -7,4 +7,4 @@
>  #
>  ##
> 
> -  INF
> SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf
> +  INF SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf
> diff --git
> a/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFea
> ture.dsc
> b/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFea
> ture.dsc
> index 31d44b68b3..094dd957b8 100644
> ---
> a/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFea
> ture.dsc
> +++
> b/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFe
> +++ ature.dsc
> @@ -100,7 +100,7 @@
>    # in the package build.
> 
>    # Add components here that should be included in the package build.
> -
> SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf
> +  SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf
> 
> 
> ##########################################################
> #########################################
>  #
> diff --git
> a/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/S
> mbiosBasicDxe.inf
> b/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/S
> mbiosBasicDxe.inf
> index bd8736b621..8e530c4945 100644
> ---
> a/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/S
> mbiosBasicDxe.inf
> +++
> b/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/S
> +++ mbiosBasicDxe.inf
> @@ -33,7 +33,7 @@
>  [Packages]
>    MdePkg/MdePkg.dec
>    MdeModulePkg/MdeModulePkg.dec
> -  SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
> +  SmbiosFeaturePkg/SmbiosFeaturePkg.dec
> 
>  [LibraryClasses]
>    BaseLib
> diff --git
> a/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.
> dec
> b/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.
> dec
> index 6170f37969..db3cdbb0d0 100644
> ---
> a/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.
> dec
> +++
> b/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg
> +++ .dec
> @@ -38,7 +38,7 @@
>        IndustryStandard/SmBios.h
>      <Packages>
>        MdePkg/MdePkg.dec
> -      SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
> +      SmbiosFeaturePkg/SmbiosFeaturePkg.dec
>    }
> 
> gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType0BiosInformation.Vend
> or|0x1
> 
> gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType0BiosInformation.BiosV
> ersion|0x2
> @@ -71,7 +71,7 @@
>        IndustryStandard/SmBios.h
>      <Packages>
>        MdePkg/MdePkg.dec
> -      SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
> +      SmbiosFeaturePkg/SmbiosFeaturePkg.dec
>    }
> 
> gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType1SystemInformation.M
> anufacturer|0x1
> 
> gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType1SystemInformation.Pr
> oductName|0x2
> @@ -87,7 +87,7 @@
>        IndustryStandard/SmBios.h
>      <Packages>
>        MdePkg/MdePkg.dec
> -      SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
> +      SmbiosFeaturePkg/SmbiosFeaturePkg.dec
>    }
> 
>    #
> @@ -111,7 +111,7 @@
>        IndustryStandard/SmBios.h
>      <Packages>
>        MdePkg/MdePkg.dec
> -      SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
> +      SmbiosFeaturePkg/SmbiosFeaturePkg.dec
>    }
> 
> gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType3SystemEnclosureChass
> is.Manufacturer|0x1
> 
> gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType3SystemEnclosureChass
> is.Type|MiscChassisTypeRackMountChassis
> @@ -131,7 +131,7 @@
>        IndustryStandard/SmBios.h
>      <Packages>
>        MdePkg/MdePkg.dec
> -      SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
> +      SmbiosFeaturePkg/SmbiosFeaturePkg.dec
>    }
> 
> gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType32SystemBootInformati
> on.BootStatus|BootInformationStatusNoError
> 
> --
> 2.27.0.windows.1
> 
> 
> 
> 
> 


^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 09/27] SmbiosFeaturePkg: Use MinPlatformPkg build include files
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 09/27] SmbiosFeaturePkg: Use MinPlatformPkg build include files Oram, Isaac W
@ 2022-01-13  2:49   ` Nate DeSimone
  0 siblings, 0 replies; 86+ messages in thread
From: Nate DeSimone @ 2022-01-13  2:49 UTC (permalink / raw)
  To: devel@edk2.groups.io, Oram, Isaac W; +Cc: Chaganty, Rangasai V, Gao, Liming

Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Oram,
> Isaac W
> Sent: Tuesday, January 11, 2022 6:20 PM
> To: devel@edk2.groups.io
> Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Chaganty, Rangasai V
> <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
> Subject: [edk2-devel][edk2-platforms][PATCH V1 09/27] SmbiosFeaturePkg:
> Use MinPlatformPkg build include files
> 
> Use the MinPlatformPkg common core build files to build libraries needed by
> this feature.
> 
> Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> 
> Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
> ---
> 
> Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemory
> .fdf    |  2 +-
> 
> Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeatu
> re.dsc | 52 --------------------
> 
> Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.ds
> c      | 18 +++++++
>  3 files changed, 19 insertions(+), 53 deletions(-)
> 
> diff --git
> a/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemo
> ry.fdf
> b/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMem
> ory.fdf
> index c3a3e81503..d46bacfbd2 100644
> ---
> a/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemo
> ry.fdf
> +++
> b/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMem
> o
> +++ ry.fdf
> @@ -7,4 +7,4 @@
>  #
>  ##
> 
> -  INF SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf
> +INF SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf
> diff --git
> a/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFea
> ture.dsc
> b/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFea
> ture.dsc
> index 094dd957b8..7a165f39d7 100644
> ---
> a/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFea
> ture.dsc
> +++
> b/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFe
> +++ ature.dsc
> @@ -33,28 +33,6 @@
> 
>  !include MdePkg/MdeLibs.dsc.inc
> 
> -[LibraryClasses]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
> -
> BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibR
> epStr.inf
> -  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
> -  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
> -  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
> -
> UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBo
> otServicesTableLib.inf
> -
> UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntry
> Point.inf
> -  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
> -
> UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib
> /UefiRuntimeServicesTableLib.inf
> -
> -[LibraryClasses.common.DXE_DRIVER]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
> -
> MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemo
> ryAllocationLib.inf
> -  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
> -
> 
> ##########################################################
> ######################
>  #
>  # Component section - list of all components that need built for this feature.
> @@ -69,21 +47,6 @@
>  #       generated for it, but the binary will not be put into any firmware
> volume.
>  #
> 
> ##########################################################
> ######################
> -#
> -# Feature PEI Components
> -#
> -
> -# @todo: Change below line to [Components.$(PEI_ARCH)] after
> https://bugzilla.tianocore.org/show_bug.cgi?id=2308
> -#        is completed.
> -[Components.IA32]
> -  #####################################
> -  # SMBIOS Feature Package
> -  #####################################
> -
> -  # Add library instances here that are not included in package components
> and should be tested
> -  # in the package build.
> -
> -  # Add components here that should be included in the package build.
> 
>  #
>  # Feature DXE Components
> @@ -101,18 +64,3 @@
> 
>    # Add components here that should be included in the package build.
>    SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf
> -
> -
> ##########################################################
> #########################################
> -#
> -# BuildOptions Section - Define the module specific tool chain flags that
> should be used as
> -#                        the default flags for a module. These flags are appended to any
> -#                        standard flags that are defined by the build process. They can
> be
> -#                        applied for any modules or only those modules with the
> specific
> -#                        module style (EDK or EDKII) specified in [Components] section.
> -#
> -#                        For advanced features, it is recommended to enable
> [BuildOptions] in
> -#                        the applicable INF file so it does not affect the whole board
> package
> -#                        build when this DSC file is active.
> -#
> -
> ##########################################################
> #########################################
> -[BuildOptions]
> diff --git
> a/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.
> dsc
> b/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.
> dsc
> index 31141c0725..e72b341154 100644
> ---
> a/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.
> dsc
> +++
> b/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg
> +++ .dsc
> @@ -24,6 +24,24 @@
>    PEI_ARCH                       = IA32
>    DXE_ARCH                       = X64
> 
> +[Packages]
> +  MinPlatformPkg/MinPlatformPkg.dec
> +
> +[PcdsFeatureFlag]
> +  #
> +  # PCD needed for MinPlatform build includes
> +  #
> +  gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable
> |FALSE
> +  gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable
> |FALSE
> +  gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable
> |FALSE
> +
> +#
> +# Include common libraries
> +#
> +!include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
> +!include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
> +!include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
> +
>  #
>  # This package always builds the feature.
>  #
> --
> 2.27.0.windows.1
> 
> 
> 
> 
> 


^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 10/27] UserAuthFeaturePkg: Fix all relative package paths
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 10/27] UserAuthFeaturePkg: Fix all relative package paths Oram, Isaac W
@ 2022-01-13  2:49   ` Nate DeSimone
  0 siblings, 0 replies; 86+ messages in thread
From: Nate DeSimone @ 2022-01-13  2:49 UTC (permalink / raw)
  To: devel@edk2.groups.io, Oram, Isaac W; +Cc: Gao, Liming, Bi, Dandan

Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Oram,
> Isaac W
> Sent: Tuesday, January 11, 2022 6:20 PM
> To: devel@edk2.groups.io
> Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Gao, Liming
> <gaoliming@byosoft.com.cn>; Bi, Dandan <dandan.bi@intel.com>
> Subject: [edk2-devel][edk2-platforms][PATCH V1 10/27]
> UserAuthFeaturePkg: Fix all relative package paths
> 
> Packages should be at the root of a PACKAGES_PATH entry.
> At some point, paths were relative to edk2-platforms/Features/Intel which
> was functional, but interferes with the proper functioning of packaging tools.
> 
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> Cc: Dandan Bi <dandan.bi@intel.com>
> 
> Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
> ---
> 
> Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fd
> f                                      |  6 +++---
> 
> Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeatur
> e.dsc                                 | 12 ++++++------
> 
> Features/Intel/UserInterface/UserAuthFeaturePkg/Library/PlatformPasswo
> rdLibNull/PlatformPasswordLibNull.inf |  2 +-
> 
> Features/Intel/UserInterface/UserAuthFeaturePkg/Library/UserPasswordLi
> b/UserPasswordLib.inf                 |  2 +-
> 
> Features/Intel/UserInterface/UserAuthFeaturePkg/Library/UserPasswordUi
> Lib/UserPasswordUiLib.inf             |  2 +-
> 
> Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxe
> Smm/UserAuthentication2Dxe.inf         |  2 +-
> 
> Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxe
> Smm/UserAuthenticationDxe.inf          |  2 +-
> 
> Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxe
> Smm/UserAuthenticationSmm.inf          |  2 +-
>  8 files changed, 15 insertions(+), 15 deletions(-)
> 
> diff --git
> a/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.
> fdf
> b/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.
> fdf
> index f0b33aa44c..c534bebcc0 100644
> ---
> a/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.
> fdf
> +++
> b/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory
> +++ .fdf
> @@ -7,6 +7,6 @@
>  #
>  ##
> 
> -  INF
> UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuth
> enticationDxe.inf
> -  INF
> UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuth
> entication2Dxe.inf
> -  INF
> UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuth
> enticationSmm.inf
> +  INF
> +
> UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.i
> nf
> +  INF
> +
> UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dxe
> .inf
> +  INF
> +
> UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSmm
> .inf
> diff --git
> a/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeat
> ure.dsc
> b/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFea
> ture.dsc
> index d4f7a5ed23..7eeaf441c1 100644
> ---
> a/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeat
> ure.dsc
> +++
> b/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFe
> +++ ature.dsc
> @@ -58,8 +58,8 @@
>    #####################################
>    # User Authentication Feature Package
>    #####################################
> -
> PlatformPasswordLib|UserInterface/UserAuthFeaturePkg/Library/PlatformP
> asswordLibNull/PlatformPasswordLibNull.inf
> -
> UserPasswordLib|UserInterface/UserAuthFeaturePkg/Library/UserPasswor
> dLib/UserPasswordLib.inf
> +
> +
> PlatformPasswordLib|UserAuthFeaturePkg/Library/PlatformPasswordLibNul
> l
> + /PlatformPasswordLibNull.inf
> +
> UserPasswordLib|UserAuthFeaturePkg/Library/UserPasswordLib/UserPass
> wor
> + dLib.inf
> 
>  [LibraryClasses.common.DXE_DRIVER]
>    #######################################
> @@ -122,12 +122,12 @@
> 
>    # Add library instances here that are not included in package components
> and should be tested
>    # in the package build.
> -
> UserInterface/UserAuthFeaturePkg/Library/UserPasswordUiLib/UserPassw
> ordUiLib.inf
> +  UserAuthFeaturePkg/Library/UserPasswordUiLib/UserPasswordUiLib.inf
> 
>    # Add components here that should be included in the package build.
> -
> UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuth
> enticationDxe.inf
> -
> UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuth
> entication2Dxe.inf
> -
> UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuth
> enticationSmm.inf
> +
> UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.i
> nf
> +
> +
> UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dxe
> .inf
> +
> UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSmm
> .inf
> 
> 
> ##########################################################
> #########################################
>  #
> diff --git
> a/Features/Intel/UserInterface/UserAuthFeaturePkg/Library/PlatformPass
> wordLibNull/PlatformPasswordLibNull.inf
> b/Features/Intel/UserInterface/UserAuthFeaturePkg/Library/PlatformPass
> wordLibNull/PlatformPasswordLibNull.inf
> index 00be14df8a..278fe026a6 100644
> ---
> a/Features/Intel/UserInterface/UserAuthFeaturePkg/Library/PlatformPass
> wordLibNull/PlatformPasswordLibNull.inf
> +++
> b/Features/Intel/UserInterface/UserAuthFeaturePkg/Library/PlatformPa
> +++ sswordLibNull/PlatformPasswordLibNull.inf
> @@ -32,7 +32,7 @@
> 
>  [Packages]
>    MdePkg/MdePkg.dec
> -  UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dec
> +  UserAuthFeaturePkg/UserAuthFeaturePkg.dec
> 
>  [Pcd]
>    gUserAuthFeaturePkgTokenSpaceGuid.PcdPasswordCleared    ##
> CONSUMES
> diff --git
> a/Features/Intel/UserInterface/UserAuthFeaturePkg/Library/UserPassword
> Lib/UserPasswordLib.inf
> b/Features/Intel/UserInterface/UserAuthFeaturePkg/Library/UserPassword
> Lib/UserPasswordLib.inf
> index 99d84ae637..a3124aa443 100644
> ---
> a/Features/Intel/UserInterface/UserAuthFeaturePkg/Library/UserPassword
> Lib/UserPasswordLib.inf
> +++
> b/Features/Intel/UserInterface/UserAuthFeaturePkg/Library/UserPasswo
> +++ rdLib/UserPasswordLib.inf
> @@ -21,7 +21,7 @@
>  [Packages]
>    MdePkg/MdePkg.dec
>    MdeModulePkg/MdeModulePkg.dec
> -  UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dec
> +  UserAuthFeaturePkg/UserAuthFeaturePkg.dec
> 
>  [LibraryClasses]
>    UefiBootServicesTableLib
> diff --git
> a/Features/Intel/UserInterface/UserAuthFeaturePkg/Library/UserPassword
> UiLib/UserPasswordUiLib.inf
> b/Features/Intel/UserInterface/UserAuthFeaturePkg/Library/UserPassword
> UiLib/UserPasswordUiLib.inf
> index 9ab7d83319..8f6a693d76 100644
> ---
> a/Features/Intel/UserInterface/UserAuthFeaturePkg/Library/UserPassword
> UiLib/UserPasswordUiLib.inf
> +++
> b/Features/Intel/UserInterface/UserAuthFeaturePkg/Library/UserPasswo
> +++ rdUiLib/UserPasswordUiLib.inf
> @@ -20,7 +20,7 @@
>  [Packages]
>    MdePkg/MdePkg.dec
>    MdeModulePkg/MdeModulePkg.dec
> -  UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dec
> +  UserAuthFeaturePkg/UserAuthFeaturePkg.dec
> 
>  [LibraryClasses]
>    UefiBootServicesTableLib
> diff --git
> a/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDx
> eSmm/UserAuthentication2Dxe.inf
> b/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDx
> eSmm/UserAuthentication2Dxe.inf
> index 2c6c3661fb..c47e20f052 100644
> ---
> a/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDx
> eSmm/UserAuthentication2Dxe.inf
> +++
> b/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthentication
> +++ DxeSmm/UserAuthentication2Dxe.inf
> @@ -26,7 +26,7 @@
>  [Packages]
>    MdePkg/MdePkg.dec
>    MdeModulePkg/MdeModulePkg.dec
> -  UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dec
> +  UserAuthFeaturePkg/UserAuthFeaturePkg.dec
> 
>  [LibraryClasses]
>    BaseLib
> diff --git
> a/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDx
> eSmm/UserAuthenticationDxe.inf
> b/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDx
> eSmm/UserAuthenticationDxe.inf
> index 58066b588c..bee46a1af2 100644
> ---
> a/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDx
> eSmm/UserAuthenticationDxe.inf
> +++
> b/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthentication
> +++ DxeSmm/UserAuthenticationDxe.inf
> @@ -28,7 +28,7 @@
>  [Packages]
>    MdePkg/MdePkg.dec
>    MdeModulePkg/MdeModulePkg.dec
> -  UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dec
> +  UserAuthFeaturePkg/UserAuthFeaturePkg.dec
> 
>  [LibraryClasses]
>    BaseLib
> diff --git
> a/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDx
> eSmm/UserAuthenticationSmm.inf
> b/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDx
> eSmm/UserAuthenticationSmm.inf
> index 891e2b981d..b53f70f0e3 100644
> ---
> a/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDx
> eSmm/UserAuthenticationSmm.inf
> +++
> b/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthentication
> +++ DxeSmm/UserAuthenticationSmm.inf
> @@ -27,7 +27,7 @@
>    MdePkg/MdePkg.dec
>    MdeModulePkg/MdeModulePkg.dec
>    CryptoPkg/CryptoPkg.dec
> -  UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dec
> +  UserAuthFeaturePkg/UserAuthFeaturePkg.dec
> 
>  [LibraryClasses]
>    UefiBootServicesTableLib
> --
> 2.27.0.windows.1
> 
> 
> 
> 
> 


^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 11/27] UserAuthFeaturePkg: Use MinPlatformPkg build include files
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 11/27] UserAuthFeaturePkg: Use MinPlatformPkg build include files Oram, Isaac W
@ 2022-01-13  2:49   ` Nate DeSimone
  0 siblings, 0 replies; 86+ messages in thread
From: Nate DeSimone @ 2022-01-13  2:49 UTC (permalink / raw)
  To: devel@edk2.groups.io, Oram, Isaac W; +Cc: Bi, Dandan, Gao, Liming

Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Oram,
> Isaac W
> Sent: Tuesday, January 11, 2022 6:20 PM
> To: devel@edk2.groups.io
> Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Bi, Dandan
> <dandan.bi@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
> Subject: [edk2-devel][edk2-platforms][PATCH V1 11/27]
> UserAuthFeaturePkg: Use MinPlatformPkg build include files
> 
> Use the MinPlatformPkg common core build files to build libraries needed by
> this feature.
> 
> Cc: Dandan Bi <dandan.bi@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> 
> Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
> ---
> 
> Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fd
> f      |  6 +-
> 
> Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeatur
> e.dsc | 80 ++------------------
> 
> Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.ds
> c      | 18 +++++
>  3 files changed, 27 insertions(+), 77 deletions(-)
> 
> diff --git
> a/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.
> fdf
> b/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.
> fdf
> index c534bebcc0..030dcbe763 100644
> ---
> a/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.
> fdf
> +++
> b/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory
> +++ .fdf
> @@ -7,6 +7,6 @@
>  #
>  ##
> 
> -  INF
> UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.i
> nf
> -  INF
> UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dxe
> .inf
> -  INF
> UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSmm
> .inf
> +INF
> +UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe
> .inf
> +INF
> +UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dx
> e.inf
> +INF
> +UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSm
> m.inf
> diff --git
> a/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeat
> ure.dsc
> b/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFea
> ture.dsc
> index 7eeaf441c1..2f39a5580c 100644
> ---
> a/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeat
> ure.dsc
> +++
> b/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFe
> +++ ature.dsc
> @@ -18,12 +18,12 @@
>  #
> 
> ##########################################################
> ######################
>  [Defines]
> -!ifndef $(PEI_ARCH)
> -  !error "PEI_ARCH must be specified to build this feature!"
> -!endif
> -!ifndef $(DXE_ARCH)
> -  !error "DXE_ARCH must be specified to build this feature!"
> -!endif
> +  !ifndef $(PEI_ARCH)
> +    !error "PEI_ARCH must be specified to build this feature!"
> +  !endif
> +  !ifndef $(DXE_ARCH)
> +    !error "DXE_ARCH must be specified to build this feature!"
> +  !endif
> 
> 
> ##########################################################
> ######################
>  #
> @@ -34,47 +34,9 @@
>  !include MdePkg/MdeLibs.dsc.inc
> 
>  [LibraryClasses]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
> -  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
> -  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
> -  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
> -  HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
> -  IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
> -  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
> -  OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
> -  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
> -  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
> -
> TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTem
> plate.inf
> -
> UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBo
> otServicesTableLib.inf
> -
> UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntry
> Point.inf
> -
> UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiService
> sLib.inf
> -  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
> -
> UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib
> /UefiRuntimeServicesTableLib.inf
> -  RngLib|MdePkg/Library/BaseRngLib/BaseRngLib.inf
> -
> -  #####################################
> -  # User Authentication Feature Package
> -  #####################################
> 
> PlatformPasswordLib|UserAuthFeaturePkg/Library/PlatformPasswordLibNul
> l/PlatformPasswordLibNull.inf
> 
> UserPasswordLib|UserAuthFeaturePkg/Library/UserPasswordLib/UserPass
> wordLib.inf
> 
> -[LibraryClasses.common.DXE_DRIVER]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -
> MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemo
> ryAllocationLib.inf
> -
> -[LibraryClasses.common.DXE_SMM_DRIVER]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -  BaseCryptLib|CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
> -
> MemoryAllocationLib|MdePkg/Library/SmmMemoryAllocationLib/SmmMe
> moryAllocationLib.inf
> -
> SmmServicesTableLib|MdePkg/Library/SmmServicesTableLib/SmmServicesT
> ableLib.inf
> -
> 
> ##########################################################
> #########################################
>  #
>  # Components Section - list of the modules and components that will be
> processed by compilation @@ -93,21 +55,6 @@
>  #       generated for it, but the binary will not be put into any firmware
> volume.
>  #
> 
> ##########################################################
> #########################################
> -#
> -# Feature PEI Components
> -#
> -
> -# @todo: Change below line to [Components.$(PEI_ARCH)] after
> https://bugzilla.tianocore.org/show_bug.cgi?id=2308
> -#        is completed.
> -[Components.IA32]
> -  #####################################
> -  # User Authentication Feature Package
> -  #####################################
> -
> -  # Add library instances here that are not included in package components
> and should be tested
> -  # in the package build.
> -
> -  # Add components here that should be included in the package build.
> 
>  #
>  # Feature DXE Components
> @@ -128,18 +75,3 @@
> 
> UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.i
> nf
> 
> UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dxe
> .inf
> 
> UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSmm
> .inf
> -
> -
> ##########################################################
> #########################################
> -#
> -# BuildOptions Section - Define the module specific tool chain flags that
> should be used as
> -#                        the default flags for a module. These flags are appended to any
> -#                        standard flags that are defined by the build process. They can
> be
> -#                        applied for any modules or only those modules with the
> specific
> -#                        module style (EDK or EDKII) specified in [Components] section.
> -#
> -#                        For advanced features, it is recommended to enable
> [BuildOptions] in
> -#                        the applicable INF file so it does not affect the whole board
> package
> -#                        build when this DSC file is active.
> -#
> -
> ##########################################################
> #########################################
> -[BuildOptions]
> diff --git
> a/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.
> dsc
> b/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.
> dsc
> index 74eb9213ce..10360c5737 100644
> ---
> a/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.
> dsc
> +++
> b/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg
> +++ .dsc
> @@ -24,6 +24,24 @@
>    PEI_ARCH                       = IA32
>    DXE_ARCH                       = X64
> 
> +[Packages]
> +  MinPlatformPkg/MinPlatformPkg.dec
> +
> +[PcdsFeatureFlag]
> +  #
> +  # PCD needed for MinPlatform build includes
> +  #
> +  gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable
> |FALSE
> +  gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable
> |FALSE
> +  gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable
> |FALSE
> +
> +#
> +# Include common libraries
> +#
> +!include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
> +!include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
> +!include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
> +
>  #
>  # This package always builds the feature.
>  #
> --
> 2.27.0.windows.1
> 
> 
> 
> 
> 


^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 12/27] VirtualKeyboardFeaturePkg: Fix all relative package paths
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 12/27] VirtualKeyboardFeaturePkg: Fix all relative package paths Oram, Isaac W
@ 2022-01-13  2:49   ` Nate DeSimone
  0 siblings, 0 replies; 86+ messages in thread
From: Nate DeSimone @ 2022-01-13  2:49 UTC (permalink / raw)
  To: devel@edk2.groups.io, Oram, Isaac W; +Cc: Gao, Liming, Bi, Dandan

Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Oram,
> Isaac W
> Sent: Tuesday, January 11, 2022 6:20 PM
> To: devel@edk2.groups.io
> Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Gao, Liming
> <gaoliming@byosoft.com.cn>; Bi, Dandan <dandan.bi@intel.com>
> Subject: [edk2-devel][edk2-platforms][PATCH V1 12/27]
> VirtualKeyboardFeaturePkg: Fix all relative package paths
> 
> Packages should be at the root of a PACKAGES_PATH entry.
> At some point, paths were relative to edk2-platforms/Features/Intel which
> was functional, but interferes with the proper functioning of packaging tools.
> 
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> Cc: Dandan Bi <dandan.bi@intel.com>
> 
> Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
> ---
> 
> Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/PostMe
> mory.fdf             | 2 +-
> 
> Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/VirtualKe
> yboardFeature.dsc | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git
> a/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/PostM
> emory.fdf
> b/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/PostM
> emory.fdf
> index bf4a4d5078..f40b5087e8 100644
> ---
> a/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/PostM
> emory.fdf
> +++
> b/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/Pos
> +++ tMemory.fdf
> @@ -7,4 +7,4 @@
>  #
>  ##
> 
> -  INF
> UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardDxe/VirtualKeyb
> oardDxe.inf
> +  INF
> + VirtualKeyboardFeaturePkg/VirtualKeyboardDxe/VirtualKeyboardDxe.inf
> diff --git
> a/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/Virtual
> KeyboardFeature.dsc
> b/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/Virtual
> KeyboardFeature.dsc
> index a8c3819480..8179f70c80 100644
> ---
> a/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/Virtual
> KeyboardFeature.dsc
> +++ b/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/Vir
> +++ tualKeyboardFeature.dsc
> @@ -81,7 +81,7 @@
>    #####################################
>    # Virtual Keyboard Feature Package
>    #####################################
> -
> UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardDxe/VirtualKeyb
> oardDxe.inf
> +  VirtualKeyboardFeaturePkg/VirtualKeyboardDxe/VirtualKeyboardDxe.inf
> 
> 
> ##########################################################
> #########################################
>  #
> --
> 2.27.0.windows.1
> 
> 
> 
> 
> 


^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 13/27] VirtualKeyboardFeaturePkg: Use MinPlatformPkg build include files
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 13/27] VirtualKeyboardFeaturePkg: Use MinPlatformPkg build include files Oram, Isaac W
@ 2022-01-13  2:49   ` Nate DeSimone
  0 siblings, 0 replies; 86+ messages in thread
From: Nate DeSimone @ 2022-01-13  2:49 UTC (permalink / raw)
  To: devel@edk2.groups.io, Oram, Isaac W; +Cc: Bi, Dandan, Gao, Liming

Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Oram,
> Isaac W
> Sent: Tuesday, January 11, 2022 6:20 PM
> To: devel@edk2.groups.io
> Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Bi, Dandan
> <dandan.bi@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
> Subject: [edk2-devel][edk2-platforms][PATCH V1 13/27]
> VirtualKeyboardFeaturePkg: Use MinPlatformPkg build include files
> 
> Use the MinPlatformPkg common core build files to build libraries needed by
> this feature.
> 
> Cc: Dandan Bi <dandan.bi@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> 
> Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
> ---
> 
> Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/VirtualKe
> yboardFeature.dsc | 62 +++-----------------
> 
> Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardF
> eaturePkg.dsc      | 18 ++++++
>  2 files changed, 25 insertions(+), 55 deletions(-)
> 
> diff --git
> a/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/Virtual
> KeyboardFeature.dsc
> b/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/Virtual
> KeyboardFeature.dsc
> index 8179f70c80..0d4f14a412 100644
> ---
> a/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/Virtual
> KeyboardFeature.dsc
> +++ b/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/Vir
> +++ tualKeyboardFeature.dsc
> @@ -18,43 +18,12 @@
>  #
> 
> ##########################################################
> ######################
>  [Defines]
> -!ifndef $(PEI_ARCH)
> -  !error "PEI_ARCH must be specified to build this feature!"
> -!endif
> -!ifndef $(DXE_ARCH)
> -  !error "DXE_ARCH must be specified to build this feature!"
> -!endif
> -
> -
> ##########################################################
> ######################
> -#
> -# Library Class section - list of all Library Classes needed by this feature.
> -#
> -
> ##########################################################
> ######################
> -
> -!include MdePkg/MdeLibs.dsc.inc
> -
> -[LibraryClasses]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
> -  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
> -  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
> -
> UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBo
> otServicesTableLib.inf
> -
> UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntry
> Point.inf
> -  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
> -  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
> -  HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
> -  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
> -  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
> -
> UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiService
> sLib.inf
> -
> UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib
> /UefiRuntimeServicesTableLib.inf
> -
> -[LibraryClasses.common.UEFI_DRIVER]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -
> MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemo
> ryAllocationLib.inf
> +  !ifndef $(PEI_ARCH)
> +    !error "PEI_ARCH must be specified to build this feature!"
> +  !endif
> +  !ifndef $(DXE_ARCH)
> +    !error "DXE_ARCH must be specified to build this feature!"
> +  !endif
> 
> 
> ##########################################################
> #########################################
>  #
> @@ -74,26 +43,9 @@
>  #       generated for it, but the binary will not be put into any firmware
> volume.
>  #
> 
> ##########################################################
> #########################################
> +
>  #
>  # Feature DXE Components
>  #
>  [Components.X64]
> -  #####################################
> -  # Virtual Keyboard Feature Package
> -  #####################################
>    VirtualKeyboardFeaturePkg/VirtualKeyboardDxe/VirtualKeyboardDxe.inf
> -
> -
> ##########################################################
> #########################################
> -#
> -# BuildOptions Section - Define the module specific tool chain flags that
> should be used as
> -#                        the default flags for a module. These flags are appended to any
> -#                        standard flags that are defined by the build process. They can
> be
> -#                        applied for any modules or only those modules with the
> specific
> -#                        module style (EDK or EDKII) specified in [Components] section.
> -#
> -#                        For advanced features, it is recommended to enable
> [BuildOptions] in
> -#                        the applicable INF file so it does not affect the whole board
> package
> -#                        build when this DSC file is active.
> -#
> -
> ##########################################################
> #########################################
> -[BuildOptions]
> diff --git
> a/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboar
> dFeaturePkg.dsc
> b/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboar
> dFeaturePkg.dsc
> index ea2005c6d2..6717c892f1 100644
> ---
> a/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboar
> dFeaturePkg.dsc
> +++
> b/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyb
> +++ oardFeaturePkg.dsc
> @@ -24,6 +24,24 @@
>    PEI_ARCH                       = IA32
>    DXE_ARCH                       = X64
> 
> +[Packages]
> +  MinPlatformPkg/MinPlatformPkg.dec
> +
> +[PcdsFeatureFlag]
> +  #
> +  # PCD needed for MinPlatform build includes
> +  #
> +  gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable
> |FALSE
> +  gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable
> |FALSE
> +  gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable
> |FALSE
> +
> +#
> +# Include common libraries
> +#
> +!include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
> +!include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
> +!include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
> +
>  #
>  # This package always builds the feature.
>  #
> --
> 2.27.0.windows.1
> 
> 
> 
> 
> 


^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 14/27] VirtualKeyboardFeaturePkg: Add feature enable PCD
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 14/27] VirtualKeyboardFeaturePkg: Add feature enable PCD Oram, Isaac W
@ 2022-01-13  2:49   ` Nate DeSimone
  0 siblings, 0 replies; 86+ messages in thread
From: Nate DeSimone @ 2022-01-13  2:49 UTC (permalink / raw)
  To: devel@edk2.groups.io, Oram, Isaac W; +Cc: Gao, Liming, Bi, Dandan

Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Oram,
> Isaac W
> Sent: Tuesday, January 11, 2022 6:20 PM
> To: devel@edk2.groups.io
> Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Gao, Liming
> <gaoliming@byosoft.com.cn>; Bi, Dandan <dandan.bi@intel.com>
> Subject: [edk2-devel][edk2-platforms][PATCH V1 14/27]
> VirtualKeyboardFeaturePkg: Add feature enable PCD
> 
> VirtualKeyboard missing feature enable PCD.
> 
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> Cc: Dandan Bi <dandan.bi@intel.com>
> 
> Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
> ---
> 
> Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/PostMe
> mory.fdf        | 2 +-
> 
> Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardF
> eaturePkg.dec | 7 ++++++-
>  2 files changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git
> a/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/PostM
> emory.fdf
> b/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/PostM
> emory.fdf
> index f40b5087e8..31a9a6c35d 100644
> ---
> a/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/PostM
> emory.fdf
> +++
> b/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/PostM
> emory.fdf
> @@ -7,4 +7,4 @@
>  #
>  ##
> 
> -  INF
> VirtualKeyboardFeaturePkg/VirtualKeyboardDxe/VirtualKeyboardDxe.inf
> +INF
> VirtualKeyboardFeaturePkg/VirtualKeyboardDxe/VirtualKeyboardDxe.inf
> diff --git
> a/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboar
> dFeaturePkg.dec
> b/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboar
> dFeaturePkg.dec
> index c26db01f09..d4b5d67783 100644
> ---
> a/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboar
> dFeaturePkg.dec
> +++
> b/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboar
> dFeaturePkg.dec
> @@ -22,5 +22,10 @@
>    Include
> 
>  [Guids]
> +  gVirtualKeyboardFeaturePkgTokenSpaceGuid        = { 0x7a9af74f, 0x27ca,
> 0x4834, { 0xa7, 0xd4, 0x62, 0x63, 0xf0, 0xe5, 0x7a, 0xd0 } }
> +
>    ## GUID used for VirtualKeyboardDriver to open TouchPanel protocol.
> -  gEdkiiTouchPanelGuid                             = { 0x91b1d27b, 0xe126, 0x48d1, {
> 0x82, 0x34, 0xd2, 0x8b, 0x81, 0xc8, 0x83, 0x62 }}
> +  gEdkiiTouchPanelGuid                            = { 0x91b1d27b, 0xe126, 0x48d1, {
> 0x82, 0x34, 0xd2, 0x8b, 0x81, 0xc8, 0x83, 0x62 }}
> +
> +[PcdsFeatureFlag]
> +
> gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEn
> able|FALSE|BOOLEAN|0x00000001
> --
> 2.27.0.windows.1
> 
> 
> 
> 
> 


^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 15/27] NetworkFeaturePkg: Use MinPlatformPkg build include files
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 15/27] NetworkFeaturePkg: Use MinPlatformPkg build include files Oram, Isaac W
@ 2022-01-13  2:49   ` Nate DeSimone
  2022-01-14  5:57   ` Chaganty, Rangasai V
  1 sibling, 0 replies; 86+ messages in thread
From: Nate DeSimone @ 2022-01-13  2:49 UTC (permalink / raw)
  To: devel@edk2.groups.io, Oram, Isaac W; +Cc: Chaganty, Rangasai V, Gao, Liming

Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Oram,
> Isaac W
> Sent: Tuesday, January 11, 2022 6:20 PM
> To: devel@edk2.groups.io
> Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Chaganty, Rangasai V
> <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
> Subject: [edk2-devel][edk2-platforms][PATCH V1 15/27]
> NetworkFeaturePkg: Use MinPlatformPkg build include files
> 
> Standalong build was not working due to missing libraries.
> Leverage MinPlatformPkg common includes for core libraries.
> 
> Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> 
> Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
> ---
>  Features/Intel/Network/NetworkFeaturePkg/Include/NetworkFeature.dsc
> | 89 ++------------------
>  Features/Intel/Network/NetworkFeaturePkg/NetworkFeaturePkg.dsc      |
> 18 ++++
>  2 files changed, 24 insertions(+), 83 deletions(-)
> 
> diff --git
> a/Features/Intel/Network/NetworkFeaturePkg/Include/NetworkFeature.ds
> c
> b/Features/Intel/Network/NetworkFeaturePkg/Include/NetworkFeature.ds
> c
> index bbc91ecbb1..ca151b4e33 100644
> ---
> a/Features/Intel/Network/NetworkFeaturePkg/Include/NetworkFeature.ds
> c
> +++
> b/Features/Intel/Network/NetworkFeaturePkg/Include/NetworkFeature.ds
> c
> @@ -18,12 +18,12 @@
>  #
> 
> ##########################################################
> ######################
>  [Defines]
> -!ifndef $(PEI_ARCH)
> -  !error "PEI_ARCH must be specified to build this feature!"
> -!endif
> -!ifndef $(DXE_ARCH)
> -  !error "DXE_ARCH must be specified to build this feature!"
> -!endif
> +  !ifndef $(PEI_ARCH)
> +    !error "PEI_ARCH must be specified to build this feature!"
> +  !endif
> +  !ifndef $(DXE_ARCH)
> +    !error "DXE_ARCH must be specified to build this feature!"
> +  !endif
> 
>    !include NetworkPkg/NetworkDefines.dsc.inc
> 
> @@ -41,56 +41,9 @@
>  #
> 
> ##########################################################
> ######################
> 
> -!include MdePkg/MdeLibs.dsc.inc
> -
>  [LibraryClasses]
>    !include NetworkPkg/NetworkLibs.dsc.inc
> -
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -  BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
> -  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
> -
> BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibR
> epStr.inf
> -  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
> -  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
> -  FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
> -  HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
> -  IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
> -  OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
> -  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
> -
> PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/Base
> PeCoffGetEntryPointLib.inf
> -
> PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanc
> eLibNull.inf
> -  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
> -
> ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseR
> eportStatusCodeLibNull.inf
> -  SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
> -  SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
> -
> TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTem
> plate.inf
>    TlsLib|CryptoPkg/Library/TlsLib/TlsLib.inf
> -
> UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBoo
> tManagerLib.inf
> -
> UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBo
> otServicesTableLib.inf
> -
> UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntry
> Point.inf
> -
> UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiService
> sLib.inf
> -  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
> -
> UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib
> /UefiRuntimeServicesTableLib.inf
> -
> -
> [LibraryClasses.common.SEC,LibraryClasses.common.PEI_CORE,LibraryClasse
> s.common.PEIM]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -  HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
> -
> MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemory
> AllocationLib.inf
> -  PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
> -
> -
> [LibraryClasses.common.DXE_CORE,LibraryClasses.common.DXE_SMM_DRI
> VER,LibraryClasses.common.SMM_CORE,LibraryClasses.common.DXE_DRIVE
> R,LibraryClasses.common.DXE_RUNTIME_DRIVER,LibraryClasses.common.U
> EFI_DRIVER,LibraryClasses.common.UEFI_APPLICATION]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
> -
> DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTabl
> eLib.inf
> -  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
> -
> MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemo
> ryAllocationLib.inf
> -  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
> 
> 
> ##########################################################
> ######################
>  #
> @@ -106,21 +59,6 @@
>  #       generated for it, but the binary will not be put into any firmware
> volume.
>  #
> 
> ##########################################################
> ######################
> -#
> -# Feature PEI Components
> -#
> -
> -# @todo: Change below line to [Components.$(PEI_ARCH)] after
> https://bugzilla.tianocore.org/show_bug.cgi?id=2308
> -#        is completed.
> -[Components.IA32]
> -  #####################################
> -  # Network Feature Package
> -  #####################################
> -
> -  # Add library instances here that are not included in package components
> and should be tested
> -  # in the package build.
> -
> -  # Add components here that should be included in the package build.
> 
>  #
>  # Feature DXE Components
> @@ -138,18 +76,3 @@
> 
>    # Add components here that should be included in the package build.
>    !include NetworkPkg/NetworkComponents.dsc.inc
> -
> -
> ##########################################################
> #########################################
> -#
> -# BuildOptions Section - Define the module specific tool chain flags that
> should be used as
> -#                        the default flags for a module. These flags are appended to any
> -#                        standard flags that are defined by the build process. They can
> be
> -#                        applied for any modules or only those modules with the
> specific
> -#                        module style (EDK or EDKII) specified in [Components] section.
> -#
> -#                        For advanced features, it is recommended to enable
> [BuildOptions] in
> -#                        the applicable INF file so it does not affect the whole board
> package
> -#                        build when this DSC file is active.
> -#
> -
> ##########################################################
> #########################################
> -[BuildOptions]
> diff --git
> a/Features/Intel/Network/NetworkFeaturePkg/NetworkFeaturePkg.dsc
> b/Features/Intel/Network/NetworkFeaturePkg/NetworkFeaturePkg.dsc
> index 199686fa09..cdc5dc851d 100644
> --- a/Features/Intel/Network/NetworkFeaturePkg/NetworkFeaturePkg.dsc
> +++
> b/Features/Intel/Network/NetworkFeaturePkg/NetworkFeaturePkg.dsc
> @@ -24,6 +24,24 @@
>    PEI_ARCH                       = IA32
>    DXE_ARCH                       = X64
> 
> +[Packages]
> +  MinPlatformPkg/MinPlatformPkg.dec
> +
> +[PcdsFeatureFlag]
> +  #
> +  # PCD needed for MinPlatform build includes
> +  #
> +  gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable
> |FALSE
> +  gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable
> |FALSE
> +  gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable
> |FALSE
> +
> +#
> +# Include common libraries
> +#
> +!include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
> +!include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
> +!include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
> +
>  #
>  # This package always builds the feature.
>  #
> --
> 2.27.0.windows.1
> 
> 
> 
> 
> 


^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 16/27] LogoFeaturePkg: Use MinPlatformPkg build include files
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 16/27] LogoFeaturePkg: " Oram, Isaac W
@ 2022-01-13  2:49   ` Nate DeSimone
  0 siblings, 0 replies; 86+ messages in thread
From: Nate DeSimone @ 2022-01-13  2:49 UTC (permalink / raw)
  To: devel@edk2.groups.io, Oram, Isaac W; +Cc: Bi, Dandan, Gao, Liming

Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Oram,
> Isaac W
> Sent: Tuesday, January 11, 2022 6:20 PM
> To: devel@edk2.groups.io
> Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Bi, Dandan
> <dandan.bi@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
> Subject: [edk2-devel][edk2-platforms][PATCH V1 16/27] LogoFeaturePkg:
> Use MinPlatformPkg build include files
> 
> Use the MinPlatformPkg common core build files to build libraries needed by
> this feature.
> 
> Cc: Dandan Bi <dandan.bi@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> 
> Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
> ---
>  Features/Intel/UserInterface/LogoFeaturePkg/Include/LogoFeature.dsc |
> 69 ++++----------------
>  Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dec      |  2 -
>  Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dsc      | 38
> ++++++++---
>  3 files changed, 41 insertions(+), 68 deletions(-)
> 
> diff --git
> a/Features/Intel/UserInterface/LogoFeaturePkg/Include/LogoFeature.dsc
> b/Features/Intel/UserInterface/LogoFeaturePkg/Include/LogoFeature.dsc
> index 1898be12ed..0acce1c7df 100644
> ---
> a/Features/Intel/UserInterface/LogoFeaturePkg/Include/LogoFeature.dsc
> +++
> b/Features/Intel/UserInterface/LogoFeaturePkg/Include/LogoFeature.ds
> +++ c
> @@ -18,36 +18,12 @@
>  #
> 
> ##########################################################
> ######################
>  [Defines]
> -!ifndef $(PEI_ARCH)
> -  !error "PEI_ARCH must be specified to build this feature!"
> -!endif
> -!ifndef $(DXE_ARCH)
> -  !error "DXE_ARCH must be specified to build this feature!"
> -!endif
> -
> -
> ##########################################################
> ######################
> -#
> -# Library Class section - list of all Library Classes needed by this feature.
> -#
> -
> ##########################################################
> ######################
> -
> -!include MdePkg/MdeLibs.dsc.inc
> -
> -[LibraryClasses]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
> -
> BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibR
> epStr.inf
> -  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
> -
> UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBo
> otServicesTableLib.inf
> -
> UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntry
> Point.inf
> -
> -[LibraryClasses.common.DXE_DRIVER]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
> +  !ifndef $(PEI_ARCH)
> +    !error "PEI_ARCH must be specified to build this feature!"
> +  !endif
> +  !ifndef $(DXE_ARCH)
> +    !error "DXE_ARCH must be specified to build this feature!"
> +  !endif
> 
> 
> ##########################################################
> ######################
>  #
> @@ -71,31 +47,8 @@
>  # @todo: Change below line to [Components.$(DXE_ARCH)] after
> https://bugzilla.tianocore.org/show_bug.cgi?id=2308
>  #        is completed.
>  [Components.X64]
> -  #####################################
> -  # Logo Feature Package
> -  #####################################
> -
> -  # Add library instances here that are not included in package components
> and should be tested
> -  # in the package build.
> -
> -  # Add components here that should be included in the package build.
> -!if gLogoFeaturePkgTokenSpaceGuid.PcdJpgEnable == TRUE
> -  LogoFeaturePkg/LogoDxe/JpegLogoDxe.inf
> -!else
> -  LogoFeaturePkg/LogoDxe/LogoDxe.inf
> -!endif
> -
> -
> ##########################################################
> #########################################
> -#
> -# BuildOptions Section - Define the module specific tool chain flags that
> should be used as
> -#                        the default flags for a module. These flags are appended to any
> -#                        standard flags that are defined by the build process. They can
> be
> -#                        applied for any modules or only those modules with the
> specific
> -#                        module style (EDK or EDKII) specified in [Components] section.
> -#
> -#                        For advanced features, it is recommended to enable
> [BuildOptions] in
> -#                        the applicable INF file so it does not affect the whole board
> package
> -#                        build when this DSC file is active.
> -#
> -
> ##########################################################
> #########################################
> -[BuildOptions]
> +  !if gLogoFeaturePkgTokenSpaceGuid.PcdJpgEnable == TRUE
> +    LogoFeaturePkg/LogoDxe/JpegLogoDxe.inf
> +  !else
> +    LogoFeaturePkg/LogoDxe/LogoDxe.inf
> +  !endif
> diff --git
> a/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dec
> b/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dec
> index 1418eb2137..4fa7dfea0f 100644
> --- a/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dec
> +++ b/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dec
> @@ -21,8 +21,6 @@
>  [Includes]
>    Include
> 
> -[LibraryClasses]
> -
>  [Guids]
>    gLogoFeaturePkgTokenSpaceGuid  =  {0x567199de, 0xb448, 0x4aa0, {0x99,
> 0x4e, 0xd5, 0xd6, 0x82, 0x59, 0x91, 0x17}}
> 
> diff --git
> a/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dsc
> b/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dsc
> index fca413b46b..5a6436178c 100644
> --- a/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dsc
> +++ b/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dsc
> @@ -21,17 +21,39 @@
>    SUPPORTED_ARCHITECTURES        = IA32|X64
>    BUILD_TARGETS                  = DEBUG|RELEASE|NOOPT
>    SKUID_IDENTIFIER               = DEFAULT
> +  PEI_ARCH                       = IA32
> +  DXE_ARCH                       = X64
> 
> -[LibraryClasses]
> -  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
> -
> BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibR
> epStr.inf
> -  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
> -
> UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBo
> otServicesTableLib.inf
> -
> UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntry
> Point.inf
> +[Packages]
> +  MinPlatformPkg/MinPlatformPkg.dec
> +  LogoFeaturePkg/LogoFeaturePkg.dec
> 
> -[LibraryClasses.common.DXE_DRIVER]
> -  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
> +[PcdsFeatureFlag]
> +  gLogoFeaturePkgTokenSpaceGuid.PcdJpgEnable                              |FALSE
> 
> +  #
> +  # PCD needed for MinPlatform build includes  #
> +  gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable
> |FALSE
> +  gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable
> |FALSE
> +  gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable
> |FALSE
> +
> +#
> +# Include common libraries
> +#
> +!include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
> +!include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
> +!include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
> +
> +#
> +# This package always builds the feature.
> +#
> +!include Include/LogoFeature.dsc
> +
> +#
> +# Since the feature include only builds the x64 BMP version, allow
> +building # all drivers in this package in 32b or 64b modes #
>  [Components]
>    LogoFeaturePkg/LogoDxe/JpegLogoDxe.inf
>    LogoFeaturePkg/LogoDxe/LogoDxe.inf
> --
> 2.27.0.windows.1
> 
> 
> 
> 
> 


^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 20/27] SpcrFeaturePkg: Use MinPlatform build include files
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 20/27] SpcrFeaturePkg: Use MinPlatform build include files Oram, Isaac W
@ 2022-01-13  2:50   ` Nate DeSimone
  2022-01-14  6:10   ` Chaganty, Rangasai V
  1 sibling, 0 replies; 86+ messages in thread
From: Nate DeSimone @ 2022-01-13  2:50 UTC (permalink / raw)
  To: devel@edk2.groups.io, Oram, Isaac W; +Cc: Chaganty, Rangasai V, Gao, Liming

Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Oram,
> Isaac W
> Sent: Tuesday, January 11, 2022 6:20 PM
> To: devel@edk2.groups.io
> Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Chaganty, Rangasai V
> <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
> Subject: [edk2-devel][edk2-platforms][PATCH V1 20/27] SpcrFeaturePkg:
> Use MinPlatform build include files
> 
> Also added feature enable flag
> 
> Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> 
> Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
> ---
> 
> Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/Library/Sp
> crDeviceLib.h |  2 +-
> 
> Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PostMem
> ory.fdf          | 13 ++++
> 
> Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PreMemo
> ry.fdf           | 11 ++++
> 
> Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/SpcrFeatu
> re.dsc         | 62 --------------------
>  Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Readme.md
> | 12 ++--
> 
> Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.de
> c              |  6 ++
> 
> Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.ds
> c              | 18 ++++++
>  7 files changed, 55 insertions(+), 69 deletions(-)
> 
> diff --git
> a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/Library/
> SpcrDeviceLib.h
> b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/Library/
> SpcrDeviceLib.h
> index 947813815e..2e50270ee6 100644
> ---
> a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/Library/
> SpcrDeviceLib.h
> +++
> b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/Library/
> +++ SpcrDeviceLib.h
> @@ -12,7 +12,7 @@
> 
>  /**
>    Get a Serial Port device used for SPCR.
> -  The caller should call FreePool() to free the memory if return value is not
> NULL.
> +  The caller should call FreePool () to free the memory if return value is not
> NULL.
> 
>    @retval NULL          Can not get device.
>    @retval Others        A serial port device path.
> diff --git
> a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PostMe
> mory.fdf
> b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PostMe
> mory.fdf
> new file mode 100644
> index 0000000000..f963f567c2
> --- /dev/null
> +++
> b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PostMe
> mo
> +++ ry.fdf
> @@ -0,0 +1,13 @@
> +## @file
> +#  FDF file for post-memory SpcrFeature advanced feature.
> +#
> +#  This file is intended to be included into another package so
> +advanced features #  can be conditionally included in the flash image
> +by enabling the respective #  feature via its FeaturePCD.
> +#
> +# Copyright (C) 2022 Intel Corporation.
> +#
> +# SPDX-License-Identifier: BSD-2-Clause-Patent ##
> +
> +INF SpcrFeaturePkg/SpcrAcpiDxe/SpcrAcpiDxe.inf
> diff --git
> a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PreMe
> mory.fdf
> b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PreMe
> mory.fdf
> new file mode 100644
> index 0000000000..3c461e7fbc
> --- /dev/null
> +++
> b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PreMe
> mor
> +++ y.fdf
> @@ -0,0 +1,11 @@
> +## @file
> +#  FDF file for pre-memory SpcrFeature advanced feature.
> +#
> +#  This file is intended to be included into another package so
> +advanced features #  can be conditionally included in the flash image
> +by enabling the respective #  feature via its FeaturePCD.
> +#
> +# Copyright (C) 2022 Intel Corporation.
> +#
> +# SPDX-License-Identifier: BSD-2-Clause-Patent ##
> diff --git
> a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/SpcrFea
> ture.dsc
> b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/SpcrFea
> ture.dsc
> index c51e552df5..b06ddf4fe6 100644
> ---
> a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/SpcrFea
> ture.dsc
> +++
> b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/SpcrFea
> t
> +++ ure.dsc
> @@ -25,40 +25,9 @@
>    !error "DXE_ARCH must be specified to build this feature!"
>  !endif
> 
> -
> ##########################################################
> ######################
> -#
> -# Library Class section - list of all Library Classes needed by this feature.
> -#
> -
> ##########################################################
> ######################
> -
> -!include MdePkg/MdeLibs.dsc.inc
> -
>  [LibraryClasses]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
> -
> BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibR
> epStr.inf
> -  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
> -
> UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntry
> Point.inf
> -  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
> -  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
> -  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
> -
> UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBo
> otServicesTableLib.inf
> -  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
> -
> UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib
> /UefiRuntimeServicesTableLib.inf
> -
> -  #######################################
> -  # SpcrFeaturePkg Packages
> -  #######################################
> 
> SpcrDeviceLib|SpcrFeaturePkg/Library/SpcrDeviceLibNull/SpcrDeviceLibNull.i
> nf
> 
> -[LibraryClasses.common.DXE_DRIVER]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -
> MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemo
> ryAllocationLib.inf
> -
> 
> ##########################################################
> ######################
>  #
>  # Component section - list of all components that need built for this feature.
> @@ -74,38 +43,7 @@
>  #
> 
> ##########################################################
> ######################
> 
> -#
> -# Feature DXE Components
> -#
> -
>  # @todo: Change below line to [Components.$(DXE_ARCH)] after
> https://bugzilla.tianocore.org/show_bug.cgi?id=2308
>  #        is completed.
>  [Components.X64]
> -  #####################################
> -  # Spcr Feature Package
> -  #####################################
> -
> -  # Add library instances here that are not included in package components
> and should be tested
> -  # in the package build.
> -
> -  # Add components here that should be included in the package build.
>    SpcrFeaturePkg/SpcrAcpiDxe/SpcrAcpiDxe.inf
> -  #{
> -#    <LibraryClasses>
> -#
> SpcrDeviceLib|SpcrFeaturePkg/Library/SpcrDeviceLibNull/SpcrDeviceLibNull.i
> nf
> -#  }
> -
> -
> ##########################################################
> #########################################
> -#
> -# BuildOptions Section - Define the module specific tool chain flags that
> should be used as
> -#                        the default flags for a module. These flags are appended to any
> -#                        standard flags that are defined by the build process. They can
> be
> -#                        applied for any modules or only those modules with the
> specific
> -#                        module style (EDK or EDKII) specified in [Components] section.
> -#
> -#                        For advanced features, it is recommended to enable
> [BuildOptions] in
> -#                        the applicable INF file so it does not affect the whole board
> package
> -#                        build when this DSC file is active.
> -#
> -
> ##########################################################
> #########################################
> -[BuildOptions]
> diff --git
> a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Readme.md
> b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Readme.md
> index 0a5d48876d..66138ee0f6 100644
> --- a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Readme.md
> +++ b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Readme.md
> @@ -22,10 +22,10 @@ Platform can implement its own library to select the
> serial port device.
>  * SpcrDeviceLibNull
> 
>  ## SpcrAcpiDxe
> -The main driver of convert the serial port device info to ACPI table.
> -It will call the function GetSpcrDevice() in the library SpcrDeviceLib to get the
> serial port device path.
> +The main driver of convert the serial port device info into an ACPI table.
> +It will call the function GetSpcrDevice () in the library SpcrDeviceLib to get
> the serial port device path.
>  If the serial port device path is not NULL, then use gEfiPciIoProtocolGuid to
> get the PCI info, and use the gEfiSerialIoProtocolGuid to get the serial port
> info, such as the baud rate etc.
> -If the serial port device is PCI device 00:16:03 (AMT serial over lan PCI
> device), then will set the BaseAddress.
> +If the serial port device is PCI device 00:16:03 (AMT serial over LAN PCI
> device), then will set the BaseAddress.
>  At last fill the ACPI table as Windows required.
> 
>  ## SpcrDeviceLibNull
> @@ -37,19 +37,19 @@ Fill the serial port device info used for SPCR to ACPI
> table.
> 
>  ## Configuration
>  There is not special configuration.
> -But the platform maybe implemente its own SpcrDeviceLib.
> +But the platform may implement its own SpcrDeviceLib.
> 
>  ## Data Flows
>  GetSpcrDevice() -> serial port device path -> get PCI info and serial port info
> -> ACPI table.
> 
>  ## Control Flows
> -GetSpcrDevice() in SpcrDeviceLib -> SpcrAcpiDxe.
> +GetSpcrDevice () in SpcrDeviceLib -> SpcrAcpiDxe.
> 
>  ## Build Flows
>  There is not special build flow.
> 
>  ## Test Point Results
> -* Check the output ACPI table.
> +There are not test points implemented.
> 
>  ## Functional Exit Criteria
>  * Check the output ACPI table.
> diff --git
> a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.
> dec
> b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.
> dec
> index 03776abf06..b084fad892 100644
> ---
> a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.
> dec
> +++
> b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.
> d
> +++ ec
> @@ -21,6 +21,12 @@
>  [Includes]
>    Include
> 
> +[Guids]
> +  gSpcrFeaturePkgTokenSpaceGuid = { 0xe978c988, 0xeeba, 0x4671, { 0xb8,
> +0x0d, 0xcc, 0x8b, 0x89, 0xb5, 0xd1, 0xef }}
> +
> +[PcdsFeatureFlag]
> +
> +gSpcrFeaturePkgTokenSpaceGuid.PcdSpcrFeatureEnable|FALSE|BOOLEAN
> |0x0000
> +0001
> +
>  [LibraryClasses]
>    ## @libraryclass  Provides an API for get SPCR device.
>    #
> diff --git
> a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.
> dsc
> b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.
> dsc
> index 82d2d3ac73..2ee874a58e 100644
> ---
> a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.
> dsc
> +++
> b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.
> d
> +++ sc
> @@ -24,6 +24,24 @@
>    PEI_ARCH                       = IA32
>    DXE_ARCH                       = X64
> 
> +[Packages]
> +  MinPlatformPkg/MinPlatformPkg.dec
> +
> +[PcdsFeatureFlag]
> +  #
> +  # PCD needed for MinPlatform build includes
> +  #
> +  gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable
> |FALSE
> +  gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable
> |FALSE
> +  gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable
> |FALSE
> +
> +#
> +# Include common libraries
> +#
> +!include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
> +!include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
> +!include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
> +
>  #
>  # This package always builds the feature.
>  #
> --
> 2.27.0.windows.1
> 
> 
> 
> 
> 


^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 21/27] TemplateFeaturePkg: Use MinPlatform build include files
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 21/27] TemplateFeaturePkg: " Oram, Isaac W
@ 2022-01-13  2:50   ` Nate DeSimone
  2022-01-14  6:05   ` Chaganty, Rangasai V
  1 sibling, 0 replies; 86+ messages in thread
From: Nate DeSimone @ 2022-01-13  2:50 UTC (permalink / raw)
  To: devel@edk2.groups.io, Oram, Isaac W; +Cc: Chaganty, Rangasai V, Gao, Liming

Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Oram,
> Isaac W
> Sent: Tuesday, January 11, 2022 6:20 PM
> To: devel@edk2.groups.io
> Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Chaganty, Rangasai V
> <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
> Subject: [edk2-devel][edk2-platforms][PATCH V1 21/27]
> TemplateFeaturePkg: Use MinPlatform build include files
> 
> Extend the template to leverage common library build files.
> 
> Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> 
> Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
> ---
>  Features/Intel/TemplateFeaturePkg/Include/TemplateFeature.dsc |  2 +-
>  Features/Intel/TemplateFeaturePkg/TemplateFeaturePkg.dsc      | 18
> ++++++++++++++++++
>  2 files changed, 19 insertions(+), 1 deletion(-)
> 
> diff --git
> a/Features/Intel/TemplateFeaturePkg/Include/TemplateFeature.dsc
> b/Features/Intel/TemplateFeaturePkg/Include/TemplateFeature.dsc
> index 6742eddcf9..dd6d033aca 100644
> --- a/Features/Intel/TemplateFeaturePkg/Include/TemplateFeature.dsc
> +++ b/Features/Intel/TemplateFeaturePkg/Include/TemplateFeature.dsc
> @@ -73,7 +73,7 @@
>  #        is completed.
>  [Components.IA32]
>    #####################################
> -  # <TEMPALTE> Feature Package
> +  # <TEMPLATE> Feature Package
>    #####################################
> 
>    # Add library instances here that are not included in package components
> and should be tested diff --git
> a/Features/Intel/TemplateFeaturePkg/TemplateFeaturePkg.dsc
> b/Features/Intel/TemplateFeaturePkg/TemplateFeaturePkg.dsc
> index 0ce8debee0..03657047dc 100644
> --- a/Features/Intel/TemplateFeaturePkg/TemplateFeaturePkg.dsc
> +++ b/Features/Intel/TemplateFeaturePkg/TemplateFeaturePkg.dsc
> @@ -24,6 +24,24 @@
>    PEI_ARCH                       = IA32
>    DXE_ARCH                       = X64
> 
> +[Packages]
> +  MinPlatformPkg/MinPlatformPkg.dec
> +
> +[PcdsFeatureFlag]
> +  #
> +  # PCD needed for MinPlatform build includes
> +  #
> +  gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable
> |FALSE
> +  gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable
> |FALSE
> +  gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable
> |FALSE
> +
> +#
> +# Include common libraries
> +#
> +!include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
> +!include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
> +!include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
> +
>  #
>  # This package always builds the feature.
>  #
> --
> 2.27.0.windows.1
> 
> 
> 
> 
> 


^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 22/27] AdvancedFeaturePkg: Fix all relative package paths
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 22/27] AdvancedFeaturePkg: Fix all relative package paths Oram, Isaac W
@ 2022-01-13  2:50   ` Nate DeSimone
  2022-01-14  5:39   ` Chaganty, Rangasai V
  1 sibling, 0 replies; 86+ messages in thread
From: Nate DeSimone @ 2022-01-13  2:50 UTC (permalink / raw)
  To: devel@edk2.groups.io, Oram, Isaac W; +Cc: Chaganty, Rangasai V, Gao, Liming

Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Oram,
> Isaac W
> Sent: Tuesday, January 11, 2022 6:20 PM
> To: devel@edk2.groups.io
> Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Chaganty, Rangasai V
> <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
> Subject: [edk2-devel][edk2-platforms][PATCH V1 22/27]
> AdvancedFeaturePkg: Fix all relative package paths
> 
> Packages should be at the root of a PACKAGES_PATH entry.
> At some point, paths were relative to edk2-platforms/Features/Intel which
> was functional, but interferes with the proper functioning of packaging tools.
> 
> Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> 
> Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
> ---
>  Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc | 15
> ++++++++-------
>  Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf       | 15
> ++++++++-------
>  Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf        | 15
> ++++++++-------
>  3 files changed, 24 insertions(+), 21 deletions(-)
> 
> diff --git
> a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc
> b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc
> index ac9ab80e8e..874b8ce7db 100644
> --- a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc
> +++ b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc
> @@ -14,45 +14,46 @@
>  # Debug Advanced Features
>  #
>  !if gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable ==
> TRUE
> -  !include Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc
> +  !include AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc
>  !endif
> +
>  !if gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable
> == TRUE
> -  !include
> Debugging/Usb3DebugFeaturePkg/Include/Usb3DebugFeature.dsc
> +  !include Usb3DebugFeaturePkg/Include/Usb3DebugFeature.dsc
>  !endif
> 
>  #
>  # Network Advanced Features
>  #
>  !if gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable ==
> TRUE
> -  !include Network/NetworkFeaturePkg/Include/NetworkFeature.dsc
> +  !include NetworkFeaturePkg/Include/NetworkFeature.dsc
>  !endif
> 
>  #
>  # Out-of-Band Management Advanced Features  #  !if
> gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable == TRUE
> -  !include
> OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc
> +  !include IpmiFeaturePkg/Include/IpmiFeature.dsc
>  !endif
> 
>  #
>  # Power Management Advanced Features
>  #
>  !if gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable == TRUE
> -  !include PowerManagement/S3FeaturePkg/Include/S3Feature.dsc
> +  !include S3FeaturePkg/Include/S3Feature.dsc
>  !endif
> 
>  #
>  # System Information Advanced Features
>  #
>  !if gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable == TRUE
> -  !include
> SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.dsc
> +  !include SmbiosFeaturePkg/Include/SmbiosFeature.dsc
>  !endif
> 
>  #
>  # User Interface Advanced Features
>  #
>  !if
> gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnabl
> e == TRUE
> -  !include
> UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc
> +  !include UserAuthFeaturePkg/Include/UserAuthFeature.dsc
>  !endif
> 
>  !if gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable == TRUE diff --
> git a/Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf
> b/Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf
> index c49a0fd875..e710fe7f01 100644
> --- a/Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf
> +++ b/Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf
> @@ -15,45 +15,46 @@
>  # Debug Advanced Features
>  #
>  !if gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable ==
> TRUE
> -  !include Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf
> +  !include AcpiDebugFeaturePkg/Include/PostMemory.fdf
>  !endif
> +
>  !if gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable
> == TRUE
> -  !include Debugging/Usb3DebugFeaturePkg/Include/PostMemory.fdf
> +  !include Usb3DebugFeaturePkg/Include/PostMemory.fdf
>  !endif
> 
>  #
>  # Network Advanced Features
>  #
>  !if gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable ==
> TRUE
> -  !include Network/NetworkFeaturePkg/Include/PostMemory.fdf
> +  !include NetworkFeaturePkg/Include/PostMemory.fdf
>  !endif
> 
>  #
>  # Out-of-Band Management Advanced Features  #  !if
> gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable == TRUE
> -  !include
> OutOfBandManagement/IpmiFeaturePkg/Include/PostMemory.fdf
> +  !include IpmiFeaturePkg/Include/PostMemory.fdf
>  !endif
> 
>  #
>  # Power Management Advanced Features
>  #
>  !if gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable == TRUE
> -  !include PowerManagement/S3FeaturePkg/Include/PostMemory.fdf
> +  !include S3FeaturePkg/Include/PostMemory.fdf
>  !endif
> 
>  #
>  # System Information Advanced Features
>  #
>  !if gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable == TRUE
> -  !include SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf
> +  !include SmbiosFeaturePkg/Include/PostMemory.fdf
>  !endif
> 
>  #
>  # User Interface Advanced Features
>  #
>  !if
> gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnabl
> e == TRUE
> -  !include UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf
> +  !include UserAuthFeaturePkg/Include/PostMemory.fdf
>  !endif
> 
>  !if gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable == TRUE diff --
> git a/Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf
> b/Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf
> index 1b21e96a5f..177aafc1ec 100644
> --- a/Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf
> +++ b/Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf
> @@ -15,45 +15,46 @@
>  # Debug Advanced Features
>  #
>  !if gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable ==
> TRUE
> -  !include Debugging/AcpiDebugFeaturePkg/Include/PreMemory.fdf
> +  !include AcpiDebugFeaturePkg/Include/PreMemory.fdf
>  !endif
> +
>  !if gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable
> == TRUE
> -  !include Debugging/Usb3DebugFeaturePkg/Include/PreMemory.fdf
> +  !include Usb3DebugFeaturePkg/Include/PreMemory.fdf
>  !endif
> 
>  #
>  # Network Advanced Features
>  #
>  !if gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable ==
> TRUE
> -  !include Network/NetworkFeaturePkg/Include/PreMemory.fdf
> +  !include NetworkFeaturePkg/Include/PreMemory.fdf
>  !endif
> 
>  #
>  # Out-of-Band Management Advanced Features  #  !if
> gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable == TRUE
> -  !include
> OutOfBandManagement/IpmiFeaturePkg/Include/PreMemory.fdf
> +  !include IpmiFeaturePkg/Include/PreMemory.fdf
>  !endif
> 
>  #
>  # Power Management Advanced Features
>  #
>  !if gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable == TRUE
> -  !include PowerManagement/S3FeaturePkg/Include/PreMemory.fdf
> +  !include S3FeaturePkg/Include/PreMemory.fdf
>  !endif
> 
>  #
>  # System Information Advanced Features
>  #
>  !if gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable == TRUE
> -  !include SystemInformation/SmbiosFeaturePkg/Include/PreMemory.fdf
> +  !include SmbiosFeaturePkg/Include/PreMemory.fdf
>  !endif
> 
>  #
>  # User Interface Advanced Features
>  #
>  !if
> gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnabl
> e == TRUE
> -  !include UserInterface/UserAuthFeaturePkg/Include/PreMemory.fdf
> +  !include UserAuthFeaturePkg/Include/PreMemory.fdf
>  !endif
> 
>  !if gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable == TRUE
> --
> 2.27.0.windows.1
> 
> 
> 
> 
> 


^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 23/27] AdvancedFeaturePkg: Add missing features
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 23/27] AdvancedFeaturePkg: Add missing features Oram, Isaac W
@ 2022-01-13  2:50   ` Nate DeSimone
  2022-01-14  5:36   ` Chaganty, Rangasai V
  1 sibling, 0 replies; 86+ messages in thread
From: Nate DeSimone @ 2022-01-13  2:50 UTC (permalink / raw)
  To: devel@edk2.groups.io, Oram, Isaac W; +Cc: Chaganty, Rangasai V, Gao, Liming

Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Oram,
> Isaac W
> Sent: Tuesday, January 11, 2022 6:20 PM
> To: devel@edk2.groups.io
> Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Chaganty, Rangasai V
> <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
> Subject: [edk2-devel][edk2-platforms][PATCH V1 23/27]
> AdvancedFeaturePkg: Add missing features
> 
> The AdvancedFeaturePkg is supposed to include all features.
> Add Beep Debug feature to include DSC and FDF.
> 
> Order features based on their domains.
> 
> Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> 
> Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
> ---
>  Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc          | 66
> ++++++++++++++++----
>  Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc    | 36
> ++++++++---
>  Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc |
> 64 +++++++++++++++----
>  Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf          | 36
> ++++++++---
>  Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf           | 36
> ++++++++---
>  Features/Intel/Readme.md                                          | 49 ++++++++++-----
>  6 files changed, 219 insertions(+), 68 deletions(-)
> 
> diff --git a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
> b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
> index 0c7a29cc75..02636da916 100644
> --- a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
> +++ b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
> @@ -36,7 +36,6 @@
> 
>  !include AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc
> 
> -
> 
> ##########################################################
> ######################
>  #
>  # Advanced Feature Enable section - all advanced features are enabling for
> the @@ -44,26 +43,71 @@  #
> ##########################################################
> ######################
>  [PcdsFeatureFlag]
> -  gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable
> |TRUE
> -  gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable                      |TRUE
> -  gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable
> |TRUE
> -  gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable                          |TRUE
> -  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable
> |TRUE
> -  gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable
> |TRUE
> -
> gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnabl
> e    |TRUE
> -  gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable                      |TRUE
> -  gLogoFeaturePkgTokenSpaceGuid.PcdJpgEnable                              |FALSE
> +  #
> +  # Debugging features
> +  #
> +  gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable
> |TRUE
> +  gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable
> |TRUE
> +
> gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureEn
> able      |TRUE
> +  gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable
> |TRUE
> +
> +  #
> +  # Network features
> +  #
> +  gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable
> |TRUE
> +
> +  #
> +  # OutOfBandManagement features
> +  #
> +  gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable
> |TRUE
> +  gSpcrFeaturePkgTokenSpaceGuid.PcdSpcrFeatureEnable
> |TRUE
> +
> +  #
> +  # PowerManagement features
> +  #
> +  gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable                            |TRUE
> +
> +  #
> +  # SystemInformation features
> +  #
> +  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable
> |TRUE
> +
> +  #
> +  # UserInterface features
> +  #
> +  gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable
> |TRUE
> +
> gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnabl
> e      |TRUE
> +
> +
> gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEn
> ab
> + le  |TRUE
> +
> +#
> +# PCD that are required to be set by the build target should be
> +configured here for test purposes # These settings are only for the
> purposes of buildings, boards should follow instructions in Readme files.
> +#
> +
> +[PcdsFixedAtBuild]
> +
> gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugPortLibInstance|1
> +
> +[PcdsFeatureFlag]
> +  #
> +  # MinPlatform common include currently required PCD
> +  #
>    gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable
> |FALSE
>    gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable
> |FALSE
>    gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable
> |FALSE
> 
>  #
> -# Include common library
> +# Include common libraries
>  #
>  !include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
>  !include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
>  !include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
> 
> +#
> +# Libraries required to be specified by the build target #
> +[LibraryClasses.Common]
> +
> +PlatformHookLib|MdeModulePkg/Library/BasePlatformHookLibNull/BasePl
> atfo
> +rmHookLibNull.inf # Required by BeepDebugFeature
> +
>  #
>  # This package builds all advanced features.
>  #
> diff --git
> a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc
> b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc
> index 874b8ce7db..2b36938df6 100644
> --- a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc
> +++ b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc
> @@ -11,51 +11,67 @@
>  ##
> 
>  #
> -# Debug Advanced Features
> +# Debugging features
>  #
>  !if gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable ==
> TRUE
>    !include AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc
>  !endif
> 
> +!if gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable
> ==
> +TRUE
> +  !include BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc
> +!endif
> +
> +!if
> +gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureE
> nable ==
> +TRUE
> +  !include PostCodeDebugFeaturePkg/Include/PostCodeDebugFeature.dsc
> +!endif
> +
>  !if gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable
> == TRUE
>    !include Usb3DebugFeaturePkg/Include/Usb3DebugFeature.dsc
>  !endif
> 
>  #
> -# Network Advanced Features
> +# Network features
>  #
>  !if gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable ==
> TRUE
>    !include NetworkFeaturePkg/Include/NetworkFeature.dsc
>  !endif
> 
>  #
> -# Out-of-Band Management Advanced Features
> +# OutOfBandManagement features
>  #
>  !if gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable == TRUE
>    !include IpmiFeaturePkg/Include/IpmiFeature.dsc
>  !endif
> 
> +!if gSpcrFeaturePkgTokenSpaceGuid.PcdSpcrFeatureEnable == TRUE
> +  !include SpcrFeaturePkg/Include/SpcrFeature.dsc
> +!endif
> +
>  #
> -# Power Management Advanced Features
> +# PowerManagement features
>  #
>  !if gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable == TRUE
>    !include S3FeaturePkg/Include/S3Feature.dsc
>  !endif
> 
>  #
> -# System Information Advanced Features
> +# SystemInformation features
>  #
>  !if gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable == TRUE
>    !include SmbiosFeaturePkg/Include/SmbiosFeature.dsc
>  !endif
> 
>  #
> -# User Interface Advanced Features
> +# UserInterface features
>  #
> -!if
> gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnabl
> e == TRUE
> -  !include UserAuthFeaturePkg/Include/UserAuthFeature.dsc
> -!endif
> -
>  !if gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable == TRUE
>    !include LogoFeaturePkg/Include/LogoFeature.dsc
>  !endif
> +
> +!if
> +gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEna
> ble ==
> +TRUE
> +  !include UserAuthFeaturePkg/Include/UserAuthFeature.dsc
> +!endif
> +
> +!if
> +gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureE
> nabl
> +e == TRUE
> +  !include VirtualKeyboardFeaturePkg/Include/VirtualKeyboardFeature.dsc
> +!endif
> diff --git
> a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc
> b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc
> index ad248de800..e214175eda 100644
> ---
> a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc
> +++
> b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc
> @@ -16,28 +16,70 @@
>  #
>  [Packages]
>    MdePkg/MdePkg.dec
> +
> +  #
> +  # Debugging features
> +  #
>    AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
> +  BeepDebugFeaturePkg/BeepDebugFeaturePkg.dec
> +  PostCodeDebugFeaturePkg/PostCodeDebugFeaturePkg.dec
>    Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dec
> +
> +  #
> +  # Networking features
> +  #
>    NetworkFeaturePkg/NetworkFeaturePkg.dec
> +
> +  #
> +  # OutOfBandManagement features
> +  #
>    IpmiFeaturePkg/IpmiFeaturePkg.dec
> +  SpcrFeaturePkg/SpcrFeaturePkg.dec
> +
> +  #
> +  # PowerManagement features
> +  #
>    S3FeaturePkg/S3FeaturePkg.dec
> +
> +  #
> +  # SystemInformation features
> +  #
>    SmbiosFeaturePkg/SmbiosFeaturePkg.dec
> -  UserAuthFeaturePkg/UserAuthFeaturePkg.dec
> +
> +  #
> +  # UserInterface features
> +  #
>    LogoFeaturePkg/LogoFeaturePkg.dec
> -  BeepDebugFeaturePkg/BeepDebugFeaturePkg.dec
> -  PostCodeDebugFeaturePkg/PostCodeDebugFeaturePkg.dec
> +  UserAuthFeaturePkg/UserAuthFeaturePkg.dec
> +  VirtualKeyboardFeaturePkg/VirtualKeyboardFeaturePkg.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
> +  gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable
> |FALSE
> +  gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable
> |FALSE
> +
> gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureEn
> able      |FALSE
> +  gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable
> |FALSE
> +
> +  gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable
> |FALSE
> +
> +  gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable
> |FALSE
> +  gSpcrFeaturePkgTokenSpaceGuid.PcdSpcrFeatureEnable
> |FALSE
> +
> +  gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable                            |FALSE
> +
> +  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable
> |FALSE
> +
> +  gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable
> |FALSE
> +
> gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnabl
> e      |FALSE
> +
> +
> gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEn
> ab
> + le  |FALSE
> +
> +#
> +# There seems to be some build parsing odd behavior that requires this
> +PCD to be specified even though # the *.fdf that consumes it is dependent
> on the feature flag.
> +# This section is to ensure that boards have these PCD instantiated.
> +#
> +[PcdsFeatureFlag]
>    gLogoFeaturePkgTokenSpaceGuid.PcdJpgEnable                              |FALSE
> diff --git a/Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf
> b/Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf
> index e710fe7f01..99089f9a7b 100644
> --- a/Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf
> +++ b/Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf
> @@ -12,51 +12,67 @@
>  ##
> 
>  #
> -# Debug Advanced Features
> +# Debugging features
>  #
>  !if gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable ==
> TRUE
>    !include AcpiDebugFeaturePkg/Include/PostMemory.fdf
>  !endif
> 
> +!if gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable
> ==
> +TRUE
> +  !include BeepDebugFeaturePkg/Include/PostMemory.fdf
> +!endif
> +
> +!if
> +gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureE
> nable ==
> +TRUE
> +  !include PostCodeDebugFeaturePkg/Include/PostMemory.fdf
> +!endif
> +
>  !if gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable
> == TRUE
>    !include Usb3DebugFeaturePkg/Include/PostMemory.fdf
>  !endif
> 
>  #
> -# Network Advanced Features
> +# Network features
>  #
>  !if gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable ==
> TRUE
>    !include NetworkFeaturePkg/Include/PostMemory.fdf
>  !endif
> 
>  #
> -# Out-of-Band Management Advanced Features
> +# OutOfBandManagement features
>  #
>  !if gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable == TRUE
>    !include IpmiFeaturePkg/Include/PostMemory.fdf
>  !endif
> 
> +!if gSpcrFeaturePkgTokenSpaceGuid.PcdSpcrFeatureEnable == TRUE
> +  !include SpcrFeaturePkg/Include/PostMemory.fdf
> +!endif
> +
>  #
> -# Power Management Advanced Features
> +# PowerManagement features
>  #
>  !if gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable == TRUE
>    !include S3FeaturePkg/Include/PostMemory.fdf
>  !endif
> 
>  #
> -# System Information Advanced Features
> +# SystemInformation features
>  #
>  !if gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable == TRUE
>    !include SmbiosFeaturePkg/Include/PostMemory.fdf
>  !endif
> 
>  #
> -# User Interface Advanced Features
> +# UserInterface features
>  #
> -!if
> gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnabl
> e == TRUE
> -  !include UserAuthFeaturePkg/Include/PostMemory.fdf
> -!endif
> -
>  !if gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable == TRUE
>    !include LogoFeaturePkg/Include/PostMemory.fdf
>  !endif
> +
> +!if
> +gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEna
> ble ==
> +TRUE
> +  !include UserAuthFeaturePkg/Include/PostMemory.fdf
> +!endif
> +
> +!if
> +gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureE
> nabl
> +e == TRUE
> +  !include VirtualKeyboardFeaturePkg/Include/PostMemory.fdf
> +!endif
> diff --git a/Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf
> b/Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf
> index 177aafc1ec..1db258446a 100644
> --- a/Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf
> +++ b/Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf
> @@ -12,51 +12,67 @@
>  ##
> 
>  #
> -# Debug Advanced Features
> +# Debugging features
>  #
>  !if gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable ==
> TRUE
>    !include AcpiDebugFeaturePkg/Include/PreMemory.fdf
>  !endif
> 
> +!if gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable
> ==
> +TRUE
> +  !include BeepDebugFeaturePkg/Include/PreMemory.fdf
> +!endif
> +
> +!if
> +gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureE
> nable ==
> +TRUE
> +  !include PostCodeDebugFeaturePkg/Include/PreMemory.fdf
> +!endif
> +
>  !if gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable
> == TRUE
>    !include Usb3DebugFeaturePkg/Include/PreMemory.fdf
>  !endif
> 
>  #
> -# Network Advanced Features
> +# Network features
>  #
>  !if gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable ==
> TRUE
>    !include NetworkFeaturePkg/Include/PreMemory.fdf
>  !endif
> 
>  #
> -# Out-of-Band Management Advanced Features
> +# OutOfBandManagement features
>  #
>  !if gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable == TRUE
>    !include IpmiFeaturePkg/Include/PreMemory.fdf
>  !endif
> 
> +!if gSpcrFeaturePkgTokenSpaceGuid.PcdSpcrFeatureEnable == TRUE
> +  !include SpcrFeaturePkg/Include/PreMemory.fdf
> +!endif
> +
>  #
> -# Power Management Advanced Features
> +# PowerManagement features
>  #
>  !if gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable == TRUE
>    !include S3FeaturePkg/Include/PreMemory.fdf
>  !endif
> 
>  #
> -# System Information Advanced Features
> +# SystemInformation features
>  #
>  !if gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable == TRUE
>    !include SmbiosFeaturePkg/Include/PreMemory.fdf
>  !endif
> 
>  #
> -# User Interface Advanced Features
> +# UserInterface features
>  #
> -!if
> gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnabl
> e == TRUE
> -  !include UserAuthFeaturePkg/Include/PreMemory.fdf
> -!endif
> -
>  !if gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable == TRUE
>    !include LogoFeaturePkg/Include/PreMemory.fdf
>  !endif
> +
> +!if
> +gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEna
> ble ==
> +TRUE
> +  !include UserAuthFeaturePkg/Include/PreMemory.fdf
> +!endif
> +
> +!if
> +gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureE
> nabl
> +e == TRUE
> +  !include VirtualKeyboardFeaturePkg/Include/PreMemory.fdf
> +!endif
> diff --git a/Features/Intel/Readme.md b/Features/Intel/Readme.md index
> 1a03a4c0d2..cf5ef7b260 100644
> --- a/Features/Intel/Readme.md
> +++ b/Features/Intel/Readme.md
> @@ -195,32 +195,47 @@ At a minimum, an advanced feature must consist of
> the following elements:
>  6. Add the source code for the advanced feature.
>      * If the feature is large it is recommended to add libraries in one patch and
> then modules in a following patch.
> 
> -7. Update the feature DSC file. This file is in
> `XxxFeaturePkg/Include/XxxFeature.dsc`.
> +7. Update the feature DSC include file. This file is in
> `XxxFeaturePkg/Include/XxxFeature.dsc`.
>      * In most cases, `XxxFeaturePkg/XxxFeaturePkg.dsc` should just `!include
> XxxFeaturePkg/Include/XxxFeature.dsc`.
> +    * This file should not duplicate core content from
> `MinPlatformPkg/Include/Dsc` except where a change is required by
> +    the feature.
> 
> -8. Update the feature FDF files. These files are
> `XxxFeaturePkg/Include/PreMemory.fdf` and
> +8. Update the feature FDF include files. These files are
> +`XxxFeaturePkg/Include/PreMemory.fdf` and
>     `XxxFeaturePkg/Include/PostMemory.fdf`.
>      * Each file should contain the feature pre-memory modules and post-
> memory modules respectively.
> 
>  9. Build the advanced feature package to ensure the build is successful:
> -
>      From the workspace root:
> -    1. cd edk2-platforms/edk2
> -    2. Execute edksetup.bat (Windows) or edksetup.sh (Linux).
> -    3. Verify the "WORKSPACE" environment variable is set to the edk2
> directory in your workspace.
> -    4. Set the "PACKAGES_PATH" environment variable to include the edk2-
> platforms/Platform/Intel, edk2-platforms/Silicon/Intel,
> -       and edk2-platforms/Features/Intel directories.
> +    1. Verify the "WORKSPACE" environment variable is set to the parent of
> edk2 and edk2-platforms directory in your
> +       workspace.
> +    2. Set the "PACKAGES_PATH" environment variable to include the edk2,
> edk2-platforms/Platform/Intel,
> +       edk2-platforms/Silicon/Intel, and edk2-platforms/Features/Intel
> directories.
>         * Windows example:
> -         * set PACKAGES_PATH=c:\Edk2Workspace\edk2-
> platforms\Platform\Intel;
> -                             c:\Edk2Workspace\edk2-platforms\Silicon\Intel;
> -                             c:\Edk2Workspace\edk2-platforms\Features\Intel
> +         * set PACKAGES_PATH=%WORKSPACE%\edk2;
> +                             %WORKSPACE%\edk2-platforms\Platform\Intel;
> +                             %WORKSPACE%\edk2-platforms\Silicon\Intel;
> +                             %WORKSPACE%\edk2-platforms\Features\Intel;
> +                             %WORKSPACE%\edk2-platforms\Features\Intel\Debugging;
> +                             %WORKSPACE%\edk2-platforms\Features\Intel\Network;
> +                             %WORKSPACE%\edk2-
> platforms\Features\Intel\OutOfBandManagement;
> +                             %WORKSPACE%\edk2-
> platforms\Features\Intel\PowerManagement;
> +                             %WORKSPACE%\edk2-
> platforms\Features\Intel\SystemInformation;
> +
> + %WORKSPACE%\edk2-platforms\Features\Intel\UserInterface
>         * Linux example:
> -         * export PACKAGES_PATH=~/Edk2Workspace/edk2-
> platforms/Platform/Intel:
> +         * export PACKAGES_PATH=~Edk2Workspace/edk2:
> +                                ~/Edk2Workspace/edk2-platforms/Platform/Intel:
>                                  ~/Edk2Workspace/edk2-platforms/Silicon/Intel:
> -                                ~/Edk2Workspace/edk2-platforms/Features/Intel
> +                                ~/Edk2Workspace/edk2-platforms/Features/Intel:
> +                                ~/Edk2Workspace/edk2-
> platforms/Features/Intel/Debugging:
> +                                ~/Edk2Workspace/edk2-
> platforms/Features/Intel/Network:
> +                                ~/Edk2Workspace/edk2-
> platforms/Features/Intel/OutOfBandManagement:
> +                                ~/Edk2Workspace/edk2-
> platforms/Features/Intel/PowerManagement:
> +                                ~/Edk2Workspace/edk2-
> platforms/Features/Intel/SystemInformation:
> +                                ~/Edk2Workspace/edk2-
> platforms/Features/Intel/UserInterface
> +    3. cd edk2
> +    4. Execute edksetup.bat (Windows) or edksetup.sh (Linux).
>      5. cd edk2-platforms/Features/Intel
> -    6. <pre>build -p
> FeatureDomainDirectory/XxxFeaturePkg/XxxFeaturePkg.dsc -a IA32 -a
> X64</pre>
> -
> +    6. <pre>build -a IA32 -a X64 -p
> + FeatureDomainDirectory/XxxFeaturePkg/XxxFeaturePkg.dsc</pre>
>         *Note:* -a specifies the architecture. Typically IA32 and X64 modules are
> built for 32-bit PEI and 64-bit
>         DXE though build for your specific requirements.
> 
> @@ -228,11 +243,13 @@ At a minimum, an advanced feature must consist of
> the following elements:
>      1. Add `XxxFeaturePkg/Include/XxxFeature.dsc` to
> `AdvancedFeatures.dsc`
>      2. Add `XxxFeaturePkg/Include/PreMemory.fdf` to
> `AdvancedFeaturePkg/Include/PreMemory.fdf`
>      3. Add `XxxFeaturePkg/Include/PostMemory.fdf` to
> `AdvancedFeaturePkg/Include/PostMemory.fdf`
> +    4. Add the `PcdFeatureEnable` to `AdvancedFeaturesPcd.dsc` set to FALSE
> +    5. Add the `PcdFeatureEnable` to `AdvancedFeaturePkg.dsc` set to
> + TRUE
> 
>  11. Build `AdvancedFeaturePkg` to ensure the build is successful.
>      1. Follow the steps in step #9 but change the build command to:
> 
> -    <pre>build -p AdvancedFeaturePkg/AdvancedFeaturePkg.dsc -a IA32 -a
> X64</pre>
> +    <pre>build  -a IA32 -a X64 -p
> + AdvancedFeaturePkg/AdvancedFeaturePkg.dsc</pre>
> 
>  12. Before sending your patch series, ensure the `Readme.md` file in
> `XxxFeaturePkg` is completed so others can use it
>      during the feature review.
> --
> 2.27.0.windows.1
> 
> 
> 
> 
> 


^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 24/27] MinPlatformPkg/Build: Add an include file for the common SPI FV info
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 24/27] MinPlatformPkg/Build: Add an include file for the common SPI FV info Oram, Isaac W
@ 2022-01-13  2:50   ` Nate DeSimone
  2022-01-14  6:02   ` Chaganty, Rangasai V
  1 sibling, 0 replies; 86+ messages in thread
From: Nate DeSimone @ 2022-01-13  2:50 UTC (permalink / raw)
  To: Oram, Isaac W, devel@edk2.groups.io
  Cc: Chaganty, Rangasai V, Gao, Liming, Dong, Eric

Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>

> -----Original Message-----
> From: Oram, Isaac W <isaac.w.oram@intel.com>
> Sent: Tuesday, January 11, 2022 6:20 PM
> To: devel@edk2.groups.io
> Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Chaganty, Rangasai V
> <rangasai.v.chaganty@intel.com>; Desimone, Nathaniel L
> <nathaniel.l.desimone@intel.com>; Gao, Liming
> <gaoliming@byosoft.com.cn>; Dong, Eric <eric.dong@intel.com>
> Subject: [edk2-devel][edk2-platforms][PATCH V1 24/27]
> MinPlatformPkg/Build: Add an include file for the common SPI FV info
> 
> This include file allows for elimination of a lot of duplicate code and makes
> FDF files more readable.
> 
> Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> Cc: Eric Dong <eric.dong@intel.com>
> Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
> ---
>  Platform/Intel/MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf |
> 24 ++++++++++++++++++++
>  1 file changed, 24 insertions(+)
> 
> diff --git
> a/Platform/Intel/MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> b/Platform/Intel/MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> new file mode 100644
> index 0000000000..fdda085a41
> --- /dev/null
> +++
> b/Platform/Intel/MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fd
> +++ f
> @@ -0,0 +1,24 @@
> +## @file CommonSpiFvHeaderInfo.fdf
> +#
> +# @copyright
> +# Copyright (C) 2020 - 2021 Intel Corporation # #
> +SPDX-License-Identifier: BSD-2-Clause-Patent ##
> +
> +FvAlignment        = 16         #FV alignment and FV attributes setting.
> +ERASE_POLARITY     = 1
> +MEMORY_MAPPED      = TRUE
> +STICKY_WRITE       = TRUE
> +LOCK_CAP           = TRUE
> +LOCK_STATUS        = TRUE
> +WRITE_DISABLED_CAP = TRUE
> +WRITE_ENABLED_CAP  = TRUE
> +WRITE_STATUS       = TRUE
> +WRITE_LOCK_CAP     = TRUE
> +WRITE_LOCK_STATUS  = TRUE
> +READ_DISABLED_CAP  = TRUE
> +READ_ENABLED_CAP   = TRUE
> +READ_STATUS        = TRUE
> +READ_LOCK_CAP      = TRUE
> +READ_LOCK_STATUS   = TRUE
> --
> 2.27.0.windows.1


^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 25/27] WhitleyOpenBoardPkg/Build: Use common SPI FV Header include
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 25/27] WhitleyOpenBoardPkg/Build: Use common SPI FV Header include Oram, Isaac W
@ 2022-01-13  2:50   ` Nate DeSimone
  2022-01-19 19:34     ` Oram, Isaac W
  0 siblings, 1 reply; 86+ messages in thread
From: Nate DeSimone @ 2022-01-13  2:50 UTC (permalink / raw)
  To: Oram, Isaac W, devel@edk2.groups.io; +Cc: Chiu, Chasel

Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>

> -----Original Message-----
> From: Oram, Isaac W <isaac.w.oram@intel.com>
> Sent: Tuesday, January 11, 2022 6:20 PM
> To: devel@edk2.groups.io
> Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Desimone, Nathaniel L
> <nathaniel.l.desimone@intel.com>; Chiu, Chasel <chasel.chiu@intel.com>
> Subject: [edk2-devel][edk2-platforms][PATCH V1 25/27]
> WhitleyOpenBoardPkg/Build: Use common SPI FV Header include
> 
> Use the MinPlatformPkg version of CommonSpiFvHeaderInfo.fdf.
> 
> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
> Cc: Chasel Chiu <chasel.chiu@intel.com>
> 
> Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
> ---
> 
> Platform/Intel/WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInf
> o.fdf | 24 ----------
>  Platform/Intel/WhitleyOpenBoardPkg/JunctionCity/PlatformPkg.fdf          |
> 48 ++++++++++----------
>  Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.fdf                       | 48
> ++++++++++----------
>  3 files changed, 48 insertions(+), 72 deletions(-)
> 
> diff --git
> a/Platform/Intel/WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderI
> nfo.fdf
> b/Platform/Intel/WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderI
> nfo.fdf
> deleted file mode 100644
> index 08f8b95938..0000000000
> ---
> a/Platform/Intel/WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderI
> nfo.fdf
> +++ /dev/null
> @@ -1,24 +0,0 @@
> -## @file CommonSpiFvHeaderInfo.fdf
> -#
> -# @copyright
> -# Copyright 2020 - 2021 Intel Corporation. <BR> -# -# SPDX-License-
> Identifier: BSD-2-Clause-Patent -##
> -
> -FvAlignment        = 16         #FV alignment and FV attributes setting.
> -ERASE_POLARITY     = 1
> -MEMORY_MAPPED      = TRUE
> -STICKY_WRITE       = TRUE
> -LOCK_CAP           = TRUE
> -LOCK_STATUS        = TRUE
> -WRITE_DISABLED_CAP = TRUE
> -WRITE_ENABLED_CAP  = TRUE
> -WRITE_STATUS       = TRUE
> -WRITE_LOCK_CAP     = TRUE
> -WRITE_LOCK_STATUS  = TRUE
> -READ_DISABLED_CAP  = TRUE
> -READ_ENABLED_CAP   = TRUE
> -READ_STATUS        = TRUE
> -READ_LOCK_CAP      = TRUE
> -READ_LOCK_STATUS   = TRUE
> diff --git
> a/Platform/Intel/WhitleyOpenBoardPkg/JunctionCity/PlatformPkg.fdf
> b/Platform/Intel/WhitleyOpenBoardPkg/JunctionCity/PlatformPkg.fdf
> index 70ceaa1889..0b919b5ea9 100644
> --- a/Platform/Intel/WhitleyOpenBoardPkg/JunctionCity/PlatformPkg.fdf
> +++ b/Platform/Intel/WhitleyOpenBoardPkg/JunctionCity/PlatformPkg.fdf
> @@ -394,13 +394,13 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
> 
> ##########################################################
> ######################
> 
>  [FV.FvSecurityPreMemory]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 40ab290f-8494-41cf-b302-31b178b4ce0b
> 
>    !include MinPlatformPkg/Include/Fdf/CoreSecurityPreMemoryInclude.fdf
> 
>  [FV.FvPreMemory]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 6522280D-28F9-4131-ADC4-F40EBFA45864
> 
>    INF  UefiCpuPkg/SecCore/SecCore.inf
> @@ -481,13 +481,13 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>    }
> 
>  [FV.FvAdvancedPreMemory]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 09f25d44-b2ef-4225-8b2e-e0e094b51775
> 
>    !include AdvancedFeaturePkg/Include/PreMemory.fdf
> 
>  [FV.FvBspPreMemory]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = e6c65995-8c2d-4119-a52d-7dbf1acb45a1
> 
>    FILE FV_IMAGE = 09f25d44-b2ef-4225-8b2e-e0e094b51775 {
> @@ -498,11 +498,11 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>  # FvPostMemory includes common hardware, common core variable
> services, load and invoke DXE etc  #  [FV.FvPostMemoryUncompressed]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = B4705B4B-0BE6-4BDB-A83A-51CAD2345CEA
> 
>  [FV.FvPostMemory]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 3298afc4-c484-47f1-a65a-5917a54b5e8c
> 
>    FILE FV_IMAGE = B4705B4B-0BE6-4BDB-A83A-51CAD2345CEA {
> @@ -515,11 +515,11 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>  # FvBsp includes board specific components  #  [FV.FvBspUncompressed]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = e4c65347-fd90-4143-8a41-113e1015fe07
> 
>  [FV.FvBsp]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 9e151cf3-ca90-444f-b33b-a9941cbc772f
> 
>    FILE FV_IMAGE = e4c65347-fd90-4143-8a41-113e1015fe07 {
> @@ -529,7 +529,7 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>    }
> 
>  [FV.FvUefiBootUncompressed]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = C4D3B0E2-FB26-44f8-A05B-E95895FCB960
> 
>    INF  MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
> @@ -567,7 +567,7 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
> 
> 
>  [FV.FvUefiBoot]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = ab9fe87b-1e37-440c-91cc-9aea03ce7bec
> 
>    FILE FV_IMAGE = C4D3B0E2-FB26-44f8-A05B-E95895FCB960 {
> @@ -577,7 +577,7 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>    }
> 
>  [FV.FvOsBootUncompressed]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = CDBB7B35-6833-4ed6-9AB2-57D2ACDDF6F0
> 
>    #
> @@ -686,7 +686,7 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>    INF  MinPlatformPkg/Acpi/AcpiSmm/AcpiSmm.inf
> 
>  [FV.FvOsBoot]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = c7488640-5f51-4969-b63b-89fc369e1725
> 
>    FILE FV_IMAGE = CDBB7B35-6833-4ed6-9AB2-57D2ACDDF6F0 {
> @@ -696,13 +696,13 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>    }
> 
>  [FV.FvSecuritySilicon]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = AD262F8D-BDED-4668-A8D4-8BC73516652F
> 
>    !include MinPlatformPkg/Include/Fdf/CoreSecurityLateInclude.fdf
> 
>  [FV.FvSecurityUncompressed]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 03E25550-89A5-4ee6-AF60-DB0553D91FD2
> 
>    FILE FV_IMAGE = 81F80AEA-91EB-4AD9-A563-7CEBAA167B25 {
> @@ -712,7 +712,7 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>    }
> 
>  [FV.FvSecurity]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 68134833-2ff6-4d22-973b-575d0eae8ffd
> 
>    FILE FV_IMAGE = 03E25550-89A5-4ee6-AF60-DB0553D91FD2 {
> @@ -722,13 +722,13 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>    }
> 
>  [FV.FvAdvancedUncompressed]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 70aeaf57-4997-49ce-a4f7-122980745670
> 
>    !include AdvancedFeaturePkg/Include/PostMemory.fdf
> 
>  [FV.FvAdvanced]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = f21ee7a1-53a9-453d-aee3-b6a5c25bada5
> 
>    FILE FV_IMAGE = 70aeaf57-4997-49ce-a4f7-122980745670 {
> @@ -741,7 +741,7 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>  # FV for all Microcode Updates.
>  #
>  [FV.FvMicrocode]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    LOCK_STATUS        = FALSE
>    FvNameGuid         = D2C29BA7-3809-480F-9C3D-DE389C61425A
> 
> @@ -753,7 +753,7 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
> 
> 
>  [FV.FvVPD]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    LOCK_STATUS        = FALSE
>    FvNameGuid         = FFC29BA7-3809-480F-9C3D-DE389C61425A
>    FILE RAW = FF7DB236-F856-4924-90F8-CDF12FB875F3 {
> @@ -764,11 +764,11 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>  # Various Vendor UEFI Drivers (OROMs).
>  #
>  [FV.FvOpromUncompressed]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = B6EDE22C-DE30-45fa-BB09-CA202C1654B7
> 
>  [FV.FvOprom]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 983BCAB5-BF10-42ce-B85D-CB805DCB1EFD
> 
>    FILE FV_IMAGE = B6EDE22C-DE30-45fa-BB09-CA202C1654B7 {
> @@ -780,7 +780,7 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>  [FV.FvWhea]
>    BlockSize          = 0x1000
>    NumBlocks          = 0x30
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = d6a1cd70-4b33-4994-a6ea-375f2ccc5437
> 
>  #
> @@ -789,11 +789,11 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>  [FV.FvAcm]
>    BlockSize          = 0x1000
>    NumBlocks          = 0x50
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 11668261-8A8D-47ca-9893-052D24435E59
> 
>  [FV.FvFpga]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 974650E7-6DFE-4998-A124-CEDEC5C9B47D
> 
> 
> ##########################################################
> ######################
> diff --git a/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.fdf
> b/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.fdf
> index 14d7502b59..7e2a8b1b9f 100644
> --- a/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.fdf
> +++ b/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.fdf
> @@ -393,11 +393,11 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
> 
> ##########################################################
> ######################
> 
>  [FV.FvSecurityPreMemory]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 40ab290f-8494-41cf-b302-31b178b4ce0b
> 
>  [FV.FvPreMemory]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 6522280D-28F9-4131-ADC4-F40EBFA45864
> 
>    INF  UefiCpuPkg/SecCore/SecCore.inf
> @@ -478,11 +478,11 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>    }
> 
>  [FV.FvAdvancedPreMemory]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 09f25d44-b2ef-4225-8b2e-e0e094b51775
> 
>  [FV.FvBspPreMemory]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = e6c65995-8c2d-4119-a52d-7dbf1acb45a1
> 
>    FILE FV_IMAGE = 09f25d44-b2ef-4225-8b2e-e0e094b51775 {
> @@ -493,11 +493,11 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>  # FvPostMemory includes common hardware, common core variable
> services, load and invoke DXE etc  #  [FV.FvPostMemoryUncompressed]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = B4705B4B-0BE6-4BDB-A83A-51CAD2345CEA
> 
>  [FV.FvPostMemory]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 3298afc4-c484-47f1-a65a-5917a54b5e8c
> 
>    FILE FV_IMAGE = B4705B4B-0BE6-4BDB-A83A-51CAD2345CEA {
> @@ -510,11 +510,11 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>  # FvBsp includes board specific components  #  [FV.FvBspUncompressed]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = e4c65347-fd90-4143-8a41-113e1015fe07
> 
>  [FV.FvBsp]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 9e151cf3-ca90-444f-b33b-a9941cbc772f
> 
>    FILE FV_IMAGE = e4c65347-fd90-4143-8a41-113e1015fe07 {
> @@ -524,7 +524,7 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>    }
> 
>  [FV.FvUefiBootUncompressed]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = C4D3B0E2-FB26-44f8-A05B-E95895FCB960
> 
>    INF  MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
> @@ -556,7 +556,7 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>    INF  BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.inf
> 
>  [FV.FvUefiBoot]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = ab9fe87b-1e37-440c-91cc-9aea03ce7bec
> 
>    FILE FV_IMAGE = C4D3B0E2-FB26-44f8-A05B-E95895FCB960 {
> @@ -566,7 +566,7 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>    }
> 
>  [FV.FvOsBootUncompressed]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = CDBB7B35-6833-4ed6-9AB2-57D2ACDDF6F0
> 
>    #
> @@ -673,7 +673,7 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>    INF  MinPlatformPkg/Acpi/AcpiSmm/AcpiSmm.inf
> 
>  [FV.FvOsBoot]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = c7488640-5f51-4969-b63b-89fc369e1725
> 
>    FILE FV_IMAGE = CDBB7B35-6833-4ed6-9AB2-57D2ACDDF6F0 {
> @@ -683,11 +683,11 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>    }
> 
>  [FV.FvSecuritySilicon]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = AD262F8D-BDED-4668-A8D4-8BC73516652F
> 
>  [FV.FvSecurityUncompressed]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 03E25550-89A5-4ee6-AF60-DB0553D91FD2
> 
>    FILE FV_IMAGE = 81F80AEA-91EB-4AD9-A563-7CEBAA167B25 {
> @@ -697,7 +697,7 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>    }
> 
>  [FV.FvSecurity]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 68134833-2ff6-4d22-973b-575d0eae8ffd
> 
>    FILE FV_IMAGE = 03E25550-89A5-4ee6-AF60-DB0553D91FD2 {
> @@ -707,11 +707,11 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>    }
> 
>  [FV.FvAdvancedUncompressed]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 70aeaf57-4997-49ce-a4f7-122980745670
> 
>  [FV.FvAdvanced]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = f21ee7a1-53a9-453d-aee3-b6a5c25bada5
> 
>    FILE FV_IMAGE = 70aeaf57-4997-49ce-a4f7-122980745670 {
> @@ -724,7 +724,7 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>  # FV for all Microcode Updates.
>  #
>  [FV.FvMicrocode]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    LOCK_STATUS        = FALSE
>    FvNameGuid         = D2C29BA7-3809-480F-9C3D-DE389C61425A
> 
> @@ -736,7 +736,7 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
> 
> 
>  [FV.FvVPD]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    LOCK_STATUS        = FALSE
>    FvNameGuid         = FFC29BA7-3809-480F-9C3D-DE389C61425A
>    FILE RAW = FF7DB236-F856-4924-90F8-CDF12FB875F3 {
> @@ -747,11 +747,11 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>  # Various Vendor UEFI Drivers (OROMs).
>  #
>  [FV.FvOpromUncompressed]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = B6EDE22C-DE30-45fa-BB09-CA202C1654B7
> 
>  [FV.FvOprom]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 983BCAB5-BF10-42ce-B85D-CB805DCB1EFD
> 
>    FILE FV_IMAGE = B6EDE22C-DE30-45fa-BB09-CA202C1654B7 {
> @@ -763,7 +763,7 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>  [FV.FvWhea]
>    BlockSize          = 0x1000
>    NumBlocks          = 0x30
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = d6a1cd70-4b33-4994-a6ea-375f2ccc5437
> 
>  #
> @@ -772,11 +772,11 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>  [FV.FvAcm]
>    BlockSize          = 0x1000
>    NumBlocks          = 0x50
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 11668261-8A8D-47ca-9893-052D24435E59
> 
>  [FV.FvFpga]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 974650E7-6DFE-4998-A124-CEDEC5C9B47D
> 
> 
> ##########################################################
> ######################
> --
> 2.27.0.windows.1


^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 27/27] WhitleyOpenBoardPkg/Build: Enable Features/Intel features
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 27/27] WhitleyOpenBoardPkg/Build: Enable Features/Intel features Oram, Isaac W
@ 2022-01-13  2:51   ` Nate DeSimone
  0 siblings, 0 replies; 86+ messages in thread
From: Nate DeSimone @ 2022-01-13  2:51 UTC (permalink / raw)
  To: Oram, Isaac W, devel@edk2.groups.io; +Cc: Chiu, Chasel

Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>

> -----Original Message-----
> From: Oram, Isaac W <isaac.w.oram@intel.com>
> Sent: Tuesday, January 11, 2022 6:20 PM
> To: devel@edk2.groups.io
> Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Desimone, Nathaniel L
> <nathaniel.l.desimone@intel.com>; Chiu, Chasel <chasel.chiu@intel.com>
> Subject: [edk2-devel][edk2-platforms][PATCH V1 27/27]
> WhitleyOpenBoardPkg/Build: Enable Features/Intel features
> 
> This enables Whitley as a test vehicle for features.
> These are not expected to be fully functional at this time.
> Specifically UserAuthentication causes a boot failure and the others have
> only been verified to be built and dispatched, not ported to the Whitley
> reference platform hardware.
> 
> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
> Cc: Chasel Chiu <chasel.chiu@intel.com>
> 
> Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
> ---
>  Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc | 44
> ++++++++++++++++++++
> Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.fdf |  6 ++-
>  2 files changed, 49 insertions(+), 1 deletion(-)
> 
> diff --git a/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc
> b/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc
> index f07b0a8ccf..42680254d1 100644
> --- a/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc
> +++ b/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc
> @@ -39,6 +39,50 @@
>    DEFINE IIO_INSTANCE           = UnknownCpu
>  !endif
> 
> +!include AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc
> +
> +[PcdsFixedAtBuild]
> +
> gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugPortLibInstance|1
> +
> +[PcdsFeatureFlag]
> +  #
> +  # Debugging features
> +  #
> +  gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable
> |FALSE
> +  gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable
> |FALSE
> +
> gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureEn
> able      |FALSE
> +  gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable
> |FALSE
> +
> +  #
> +  # Network features
> +  #
> +  gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable
> |FALSE
> +
> +  #
> +  # OutOfBandManagement features
> +  #
> +  gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable
> |FALSE
> +  gSpcrFeaturePkgTokenSpaceGuid.PcdSpcrFeatureEnable
> |FALSE
> +
> +  #
> +  # PowerManagement features
> +  #
> +  gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable                            |FALSE
> +
> +  #
> +  # SystemInformation features
> +  #
> +  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable
> |FALSE
> +
> +  #
> +  # UserInterface features
> +  #
> +  gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable
> |FALSE
> +
> gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnabl
> e      |FALSE
> +
> +
> gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEn
> ab
> + le  |FALSE
> +
> +!include AdvancedFeaturePkg/Include/AdvancedFeatures.dsc
> +
>    #
>    # Platform On/Off features are defined here
>    #
> diff --git a/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.fdf
> b/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.fdf
> index 7e2a8b1b9f..45460570d9 100644
> --- a/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.fdf
> +++ b/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.fdf
> @@ -84,7 +84,7 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize
> = 0x01000000
>    SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspSSize          =
> 0x00040000 # Size must match WhitleyFspPkg.fdf content
>    SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspMSize          =
> 0x00221000 # Size must match WhitleyFspPkg.fdf content
>    SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspTSize          =
> 0x00006000 # Size must match WhitleyFspPkg.fdf content
> -  SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvBspPreMemorySize  =
> 0x00001000
> +  SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvBspPreMemorySize  =
> + 0x00010000
>    SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvPreMemorySize     =
> gCpPlatFlashTokenSpaceGuid.PcdFlashFdSecPeiSize -
> gMinPlatformPkgTokenSpaceGuid.PcdFlashFvBspSize -
> gMinPlatformPkgTokenSpaceGuid.PcdFlashFvPostMemorySize -
> gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspSSize -
> gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspMSize -
> gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspTSize -
> gMinPlatformPkgTokenSpaceGuid.PcdFlashFvBspPreMemorySize
> 
>    #
> @@ -481,6 +481,8 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>    !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 09f25d44-b2ef-4225-8b2e-e0e094b51775
> 
> +  !include AdvancedFeaturePkg/Include/PreMemory.fdf
> +
>  [FV.FvBspPreMemory]
>    !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = e6c65995-8c2d-4119-a52d-7dbf1acb45a1
> @@ -710,6 +712,8 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>    !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 70aeaf57-4997-49ce-a4f7-122980745670
> 
> +  !include AdvancedFeaturePkg/Include/PostMemory.fdf
> +
>  [FV.FvAdvanced]
>    !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = f21ee7a1-53a9-453d-aee3-b6a5c25bada5
> --
> 2.27.0.windows.1


^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency
  2022-01-13  2:47 ` [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency Nate DeSimone
@ 2022-01-13  3:15   ` Oram, Isaac W
  2022-01-13  3:52     ` Nate DeSimone
  2022-01-13  3:53     ` Nate DeSimone
  0 siblings, 2 replies; 86+ messages in thread
From: Oram, Isaac W @ 2022-01-13  3:15 UTC (permalink / raw)
  To: Desimone, Nathaniel L, devel@edk2.groups.io
  Cc: Chaganty, Rangasai V, Gao, Liming, Dong, Eric, Tan, Ming,
	Chiu, Chasel, Bi, Dandan, Shindo, Miki, Abbas, Mohamed,
	KARPAGAVINAYAGAM, MANICKAVASAKAM

Thanks Nate.

Comments in line.

Regards,
Isaac

-----Original Message-----
From: Desimone, Nathaniel L <nathaniel.l.desimone@intel.com> 
Sent: Wednesday, January 12, 2022 6:47 PM
To: Oram, Isaac W <isaac.w.oram@intel.com>; devel@edk2.groups.io
Cc: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Dong, Eric <eric.dong@intel.com>; Tan, Ming <ming.tan@intel.com>; Chiu, Chasel <chasel.chiu@intel.com>; Bi, Dandan <dandan.bi@intel.com>; Shindo, Miki <miki.shindo@intel.com>; Abbas, Mohamed <mohamed.abbas@intel.com>; KARPAGAVINAYAGAM, MANICKAVASAKAM <manickavasakamk@ami.com>
Subject: RE: [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency

Hi Issac,

Thank you for doing this cleanup work. I have some comments for you. I have provided a summary of my feedback below:

PATCH 01/27

* Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc

Line 69: [Components.IA32] should be changed to [Components.$(PEI_ARCH)] Line 83: [Components.X64] should be changed to [Components.$(DXE_ARCH)]

Note: These comments can also be addressed by restoring the @todo comment stating that these changes still need to be done (which you deleted.)
[Isaac] $(DXE_ARCH) and $(PEI_ARCH) are not fully functional.  It appears that they are fine in DSC files, even when inside an include.  But they are not fine inside an include in an FDF file.  The PreMemory.fdf and PostMemory.fdf do not work when I try to introduce this change.  
As these are not required, ToDo are against coding style and are bad for comprehensibility, I would prefer to not add such useless comments back in.  Comments should improve the comprehensibility of code and should not distract from understanding the code.

PATCH 18/27

* Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dsc

Line 33: [PcdsFeatureFlag.X64] should be changed to [PcdsFeatureFlag.$(DXE_ARCH)]

Note: This comment can also be addressed by adding a @todo comment stating that this change still needs to be done.
[Isaac] See prior response.

PATCH 19/27

* Features/Intel/Debugging/Usb3DebugFeaturePkg/Include/Usb3DebugFeature.dsc

Line 35: Typo here. Usb3DebugPortParamLibo should be Usb3DebugPortParamLib.
[Isaac] Good catch.  I guess we don't catch that class of error if the library class is not used.

* Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dsc

Line 40: Did you test compilation for the Usb3DebugFeaturePkg? I've generally run into issues when a components sections does not specify a machine architecture through some sort of means.
[Isaac] There is no code consuming these libraries.  I verified build of 32 and 64 bit modes as well as part of AdvancedFeaturePkg build and a board package build.
I believe that library classes can be specified by module type and the build tool builds the right mode for the consuming driver on demand.  Basically, there is no value to specifying architecture for a library.
This does not work with components however.  If you leave the architecture unspecified, you get an error when including the component in an FDF as the build does not know how to resolve.

PATCH 26/27

Since FvAdvanced is post-memory and not covered by the boot guard IBB, I suspect we should probably also support optional signing of that FV.
[Isaac] I do not know how to act on that suggestion.  That seems out of scope for this change.  I restricted my changes to be functionally compatible as I do not have hardware to test these changes other than minimally.

Thanks,
Nate

-----Original Message-----
From: Oram, Isaac W <isaac.w.oram@intel.com>
Sent: Tuesday, January 11, 2022 6:20 PM
To: devel@edk2.groups.io
Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Dong, Eric <eric.dong@intel.com>; Tan, Ming <ming.tan@intel.com>; Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>; Chiu, Chasel <chasel.chiu@intel.com>; Bi, Dandan <dandan.bi@intel.com>; Shindo, Miki <miki.shindo@intel.com>; Abbas, Mohamed <mohamed.abbas@intel.com>; KARPAGAVINAYAGAM, MANICKAVASAKAM <manickavasakamk@ami.com>
Subject: [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency

This series addresses inconsistencies in feature implementation and use. Some inconsistencies are just conventions of the feature design/template/convention.  Some are inconsistency with feature design intent that negatively affect the usability of the features and the amount of work required from board porting engineers.

Some features were missing feature enable flags.
Some features had non-functional standalone builds.
Many features were implemented to include common core build content in their feature include files.
Updated some of the Readme content.
Added AdvancedFeaturePkg.fdf to build all feature content to support verifying no build time issues between features.
Removed duplicate and unused content from build files.
Modified the TemplateFeaturePkg to use the common MinPlatform include content.

Removed all instances where features were relative to Features/Intel and made them relative to the package roots.
This does mean PACKAGES_PATH may need to be extended for all the feature domains.  Debugging, PowerManagement, etc.
However, it should enable packaging tools to function properly as the relative paths violate spec.

Use of the common MinPlatformPkg build includes does increase the build time for each individual feature in standalone build modes. It does not negatively impact board or AdvancedFeaturePkg builds as the common content is only built once. Part of MinPlatform arch intent is to reduce cognitive complexity, so the simpler build is more valuable than fast build time.

Cc: Sai Chaganty <mailto:rangasai.v.chaganty@intel.com>
Cc: Liming Gao <mailto:gaoliming@byosoft.com.cn>
Cc: Eric Dong <mailto:eric.dong@intel.com>
Cc: Ming Tan <mailto:ming.tan@intel.com>
Cc: Nate DeSimone <mailto:nathaniel.l.desimone@intel.com>
Cc: Chasel Chiu <mailto:chasel.chiu@intel.com>
Cc: Dandan Bi <mailto:dandan.bi@intel.com>
Cc: Miki Shindo <mailto:miki.shindo@intel.com>
Cc: Mohamed Abbas <mailto:mohamed.abbas@intel.com>
Cc: Manickavasakam Karpagavinayagam <mailto:manickavasakamk@ami.com>

Signed-off-by: Isaac Oram <mailto:isaac.w.oram@intel.com>

Isaac Oram (27):
  BeepDebugFeaturePkg: Use MinPlatformPkg build include files
  BeepDebugFeaturePkg: Fix all relative package paths
  AcpiDebugFeaturePkg: Fix all relative package paths
  IpmiFeaturePkg: Fix all relative package paths
  IpmiFeaturePkg: Fix build errors
  S3FeaturePkg: Fix all relative package paths
  S3FeaturePkg: Use MinPlatformPkg build include files
  SmbiosFeaturePkg: Fix all relative package paths
  SmbiosFeaturePkg: Use MinPlatformPkg build include files
  UserAuthFeaturePkg: Fix all relative package paths
  UserAuthFeaturePkg: Use MinPlatformPkg build include files
  VirtualKeyboardFeaturePkg: Fix all relative package paths
  VirtualKeyboardFeaturePkg: Use MinPlatformPkg build include files
  VirtualKeyboardFeaturePkg: Add feature enable PCD
  NetworkFeaturePkg: Use MinPlatformPkg build include files
  LogoFeaturePkg: Use MinPlatformPkg build include files
  PostCodeDebugFeaturePkg: Complete as an advanced feature
  AcpiDebugFeaturePkg: Use MinPlatformPkg build include files
  Usb3DebugFeaturePkg: Align with feature design guidelines
  SpcrFeaturePkg: Use MinPlatform build include files
  TemplateFeaturePkg: Use MinPlatform build include files
  AdvancedFeaturePkg: Fix all relative package paths
  AdvancedFeaturePkg: Add missing features
  MinPlatformPkg/Build: Add an include file for the common SPI FV info
  WhitleyOpenBoardPkg/Build: Use common SPI FV Header include
  AdvancedFeaturePkg/Build: Add FDF to create FV for all features
  WhitleyOpenBoardPkg/Build: Enable Features/Intel features

 Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc                                                                  |  67 +++++-
 Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.fdf                                                                  |  49 +++++
 Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc                                                            |  49 +++--
 Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc                                                         |  64 +++++-
 Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf                                                                  |  49 +++--
 Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf                                                                   |  49 +++--
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf                                             |   2 +-
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf                                             |   2 +-
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec                                                      |   2 +-
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dsc                                                      |  21 ++
 Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc                                                 |  74 +------
 Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf                                                       |   4 +-
 Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dec                                                      |   7 +-
 Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dsc                                                      |  28 +++
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc                                                 | 222 ++++++-------------
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/Library/BeepLib.h                                                    |   6 +-
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PostMemory.fdf                                                       |  14 ++
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PreMemory.fdf                                                        |  13 ++
 Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/PeiBeepStatusCodeHandlerLib.inf             |   5 +-
 Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf      |   3 -
 Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/SmmBeepStatusCodeHandlerLib.inf             |   3 -
 Features/Intel/Debugging/BeepDebugFeaturePkg/Readme.md                                                                    |  91 +++++---
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostCodeDebugFeature.dsc                                         | 231 +++++---------------
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostMemory.fdf                                                   |  14 ++
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PreMemory.fdf                                                    |  13 ++
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Library/PostCodeStatusCodeHandlerLib/PeiPostCodeStatusCodeHandlerLib.inf |   2 +-
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/PostCodeDebugFeaturePkg.dec                                              |  11 +
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/PostCodeDebugFeaturePkg.dsc                                              |  30 +++
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Readme.md                                                                |  31 ++-
 Features/Intel/Debugging/Usb3DebugFeaturePkg/Include/Usb3DebugFeature.dsc                                                 | 131 ++---------
 Features/Intel/Debugging/Usb3DebugFeaturePkg/Readme.md                                                                    |  50 +++--
 Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dec                                                      |  14 +-
 Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dsc                                                      |  18 ++
 Features/Intel/Network/NetworkFeaturePkg/Include/NetworkFeature.dsc                                                       |  89 +-------
 Features/Intel/Network/NetworkFeaturePkg/NetworkFeaturePkg.dsc                                                            |  18 ++
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcAcpi/BmcAcpi.inf                                                     |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/BmcElog.inf                                                     |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbDxe.inf                                                          |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbPei.inf                                                          |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dxe/GenericIpmi.inf                                         |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Pei/PeiGenericIpmi.inf                                      |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Smm/SmmGenericIpmi.inf                                      |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc                                                 |  90 ++------
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMemory.fdf                                                  |  16 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PreMemory.fdf                                                   |   6 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dsc                                                      |  18 ++
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFru/IpmiFru.inf                                                     |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/DxeIpmiInit.inf                                                |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/PeiIpmiInit.inf                                                |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBaseLib/IpmiBaseLib.inf                                     |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBaseLibNull/IpmiBaseLibNull.inf                             |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiCommandLib/IpmiCommandLib.inf                               |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiPlatformHookLibNull/IpmiPlatformHookLibNull.inf             |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/PeiIpmiBaseLib/PeiIpmiBaseLib.inf                               |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/SmmIpmiBaseLib/SmmIpmiBaseLib.inf                               |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/OsWdt/OsWdt.inf                                                         |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/SolStatus/SolStatus.inf                                                 |   2 +-
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/Library/SpcrDeviceLib.h                                         |   2 +-
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PostMemory.fdf                                                  |  13 ++
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PreMemory.fdf                                                   |  11 +
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/SpcrFeature.dsc                                                 |  62 ------
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Readme.md                                                               |  12 +-
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dec                                                      |   6 +
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dsc                                                      |  18 ++
 Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf                                                         |   2 +-
 Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc                                                         |  74 +------
 Features/Intel/PowerManagement/S3FeaturePkg/S3FeaturePkg.dsc                                                              |  18 ++
 Features/Intel/PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf                                                               |   2 +-
 Features/Intel/Readme.md                                                                                                  |  49 +++--
 Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf                                                  |   2 +-
 Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.dsc                                               |  54 +----
 Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf                                       |   2 +-
 Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec                                                    |  10 +-
 Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dsc                                                    |  18 ++
 Features/Intel/TemplateFeaturePkg/Include/TemplateFeature.dsc                                                             |   2 +-
 Features/Intel/TemplateFeaturePkg/TemplateFeaturePkg.dsc                                                                  |  18 ++
 Features/Intel/UserInterface/LogoFeaturePkg/Include/LogoFeature.dsc                                                       |  69 +-----
 Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dec                                                            |   2 -
 Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dsc                                                            |  38 +++-
 Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf                                                    |   6 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc                                               |  92 +-------
 Features/Intel/UserInterface/UserAuthFeaturePkg/Library/PlatformPasswordLibNull/PlatformPasswordLibNull.inf               |   2 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/Library/UserPasswordLib/UserPasswordLib.inf                               |   2 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/Library/UserPasswordUiLib/UserPasswordUiLib.inf                           |   2 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dsc                                                    |  18 ++
 Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dxe.inf                       |   2 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.inf                        |   2 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSmm.inf                        |   2 +-
 Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/PostMemory.fdf                                             |   2 +-
 Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/VirtualKeyboardFeature.dsc                                 |  64 +-----
 Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardFeaturePkg.dec                                      |   7 +-
 Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardFeaturePkg.dsc                                      |  18 ++
 Platform/Intel/{WhitleyOpenBoardPkg => MinPlatformPkg}/Include/Fdf/CommonSpiFvHeaderInfo.fdf                              |   2 +-
 Platform/Intel/WhitleyOpenBoardPkg/JunctionCity/PlatformPkg.fdf                                                           |  48 ++--
 Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc                                                                        |  44 ++++
 Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.fdf                                                                        |  54 ++---
 96 files changed, 1159 insertions(+), 1334 deletions(-)  create mode 100644 Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.fdf
 create mode 100644 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PostMemory.fdf
 create mode 100644 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PreMemory.fdf
 create mode 100644 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostMemory.fdf
 create mode 100644 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PreMemory.fdf
 create mode 100644 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PostMemory.fdf
 create mode 100644 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PreMemory.fdf
 rename Platform/Intel/{WhitleyOpenBoardPkg => MinPlatformPkg}/Include/Fdf/CommonSpiFvHeaderInfo.fdf (88%)

--
2.27.0.windows.1

^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency
  2022-01-13  3:15   ` Oram, Isaac W
@ 2022-01-13  3:52     ` Nate DeSimone
  2022-01-13  3:53     ` Nate DeSimone
  1 sibling, 0 replies; 86+ messages in thread
From: Nate DeSimone @ 2022-01-13  3:52 UTC (permalink / raw)
  To: Oram, Isaac W, devel@edk2.groups.io
  Cc: Chaganty, Rangasai V, Gao, Liming, Dong, Eric, Tan, Ming,
	Chiu, Chasel, Bi, Dandan, Shindo, Miki, Abbas, Mohamed,
	KARPAGAVINAYAGAM, MANICKAVASAKAM



-----Original Message-----
From: Oram, Isaac W <isaac.w.oram@intel.com> 
Sent: Wednesday, January 12, 2022 7:15 PM
To: Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>; devel@edk2.groups.io
Cc: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Dong, Eric <eric.dong@intel.com>; Tan, Ming <ming.tan@intel.com>; Chiu, Chasel <chasel.chiu@intel.com>; Bi, Dandan <dandan.bi@intel.com>; Shindo, Miki <miki.shindo@intel.com>; Abbas, Mohamed <mohamed.abbas@intel.com>; KARPAGAVINAYAGAM, MANICKAVASAKAM <manickavasakamk@ami.com>
Subject: RE: [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency

Thanks Nate.

Comments in line.

Regards,
Isaac

-----Original Message-----
From: Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>
Sent: Wednesday, January 12, 2022 6:47 PM
To: Oram, Isaac W <isaac.w.oram@intel.com>; devel@edk2.groups.io
Cc: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Dong, Eric <eric.dong@intel.com>; Tan, Ming <ming.tan@intel.com>; Chiu, Chasel <chasel.chiu@intel.com>; Bi, Dandan <dandan.bi@intel.com>; Shindo, Miki <miki.shindo@intel.com>; Abbas, Mohamed <mohamed.abbas@intel.com>; KARPAGAVINAYAGAM, MANICKAVASAKAM <manickavasakamk@ami.com>
Subject: RE: [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency

Hi Issac,

Thank you for doing this cleanup work. I have some comments for you. I have provided a summary of my feedback below:

PATCH 01/27

* Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc

Line 69: [Components.IA32] should be changed to [Components.$(PEI_ARCH)] Line 83: [Components.X64] should be changed to [Components.$(DXE_ARCH)]

Note: These comments can also be addressed by restoring the @todo comment stating that these changes still need to be done (which you deleted.)

[Isaac] $(DXE_ARCH) and $(PEI_ARCH) are not fully functional.  It appears that they are fine in DSC files, even when inside an include.  But they are not fine inside an include in an FDF file.  The PreMemory.fdf and PostMemory.fdf do not work when I try to introduce this change.  
As these are not required, ToDo are against coding style and are bad for comprehensibility, I would prefer to not add such useless comments back in.  Comments should improve the comprehensibility of code and should not distract from understanding the code.

[Nate] The $(PEI_ARCH)/$(DXE_ARCH) additions are not be necessary in the FDF files. Adding them to the DSC file should be sufficient. Can you re-test with just the DSC file change?

PATCH 18/27

* Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dsc

Line 33: [PcdsFeatureFlag.X64] should be changed to [PcdsFeatureFlag.$(DXE_ARCH)]

Note: This comment can also be addressed by adding a @todo comment stating that this change still needs to be done.
[Isaac] See prior response.

PATCH 19/27

* Features/Intel/Debugging/Usb3DebugFeaturePkg/Include/Usb3DebugFeature.dsc

Line 35: Typo here. Usb3DebugPortParamLibo should be Usb3DebugPortParamLib.
[Isaac] Good catch.  I guess we don't catch that class of error if the library class is not used.

* Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dsc

Line 40: Did you test compilation for the Usb3DebugFeaturePkg? I've generally run into issues when a components sections does not specify a machine architecture through some sort of means.
[Isaac] There is no code consuming these libraries.  I verified build of 32 and 64 bit modes as well as part of AdvancedFeaturePkg build and a board package build.
I believe that library classes can be specified by module type and the build tool builds the right mode for the consuming driver on demand.  Basically, there is no value to specifying architecture for a library.
This does not work with components however.  If you leave the architecture unspecified, you get an error when including the component in an FDF as the build does not know how to resolve.

[Nate] I bring this up because you added a [Components] section and put this package's library classes into that [Components] section for the purposes of running a build test on those library classes even though they are not consumed by anything. That new [Components] section does not specify a machine architecture so I'm wondering if the compilation still succeeds.

PATCH 26/27

Since FvAdvanced is post-memory and not covered by the boot guard IBB, I suspect we should probably also support optional signing of that FV.
[Isaac] I do not know how to act on that suggestion.  That seems out of scope for this change.  I restricted my changes to be functionally compatible as I do not have hardware to test these changes other than minimally.

[Nate] Nevermind. I checked all the OpenBoardPkgs we have and none of them have FV signing enabled anyway. Ignore this comment.

Thanks,
Nate

-----Original Message-----
From: Oram, Isaac W <isaac.w.oram@intel.com>
Sent: Tuesday, January 11, 2022 6:20 PM
To: devel@edk2.groups.io
Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Dong, Eric <eric.dong@intel.com>; Tan, Ming <ming.tan@intel.com>; Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>; Chiu, Chasel <chasel.chiu@intel.com>; Bi, Dandan <dandan.bi@intel.com>; Shindo, Miki <miki.shindo@intel.com>; Abbas, Mohamed <mohamed.abbas@intel.com>; KARPAGAVINAYAGAM, MANICKAVASAKAM <manickavasakamk@ami.com>
Subject: [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency

This series addresses inconsistencies in feature implementation and use. Some inconsistencies are just conventions of the feature design/template/convention.  Some are inconsistency with feature design intent that negatively affect the usability of the features and the amount of work required from board porting engineers.

Some features were missing feature enable flags.
Some features had non-functional standalone builds.
Many features were implemented to include common core build content in their feature include files.
Updated some of the Readme content.
Added AdvancedFeaturePkg.fdf to build all feature content to support verifying no build time issues between features.
Removed duplicate and unused content from build files.
Modified the TemplateFeaturePkg to use the common MinPlatform include content.

Removed all instances where features were relative to Features/Intel and made them relative to the package roots.
This does mean PACKAGES_PATH may need to be extended for all the feature domains.  Debugging, PowerManagement, etc.
However, it should enable packaging tools to function properly as the relative paths violate spec.

Use of the common MinPlatformPkg build includes does increase the build time for each individual feature in standalone build modes. It does not negatively impact board or AdvancedFeaturePkg builds as the common content is only built once. Part of MinPlatform arch intent is to reduce cognitive complexity, so the simpler build is more valuable than fast build time.

Cc: Sai Chaganty <mailto:rangasai.v.chaganty@intel.com>
Cc: Liming Gao <mailto:gaoliming@byosoft.com.cn>
Cc: Eric Dong <mailto:eric.dong@intel.com>
Cc: Ming Tan <mailto:ming.tan@intel.com>
Cc: Nate DeSimone <mailto:nathaniel.l.desimone@intel.com>
Cc: Chasel Chiu <mailto:chasel.chiu@intel.com>
Cc: Dandan Bi <mailto:dandan.bi@intel.com>
Cc: Miki Shindo <mailto:miki.shindo@intel.com>
Cc: Mohamed Abbas <mailto:mohamed.abbas@intel.com>
Cc: Manickavasakam Karpagavinayagam <mailto:manickavasakamk@ami.com>

Signed-off-by: Isaac Oram <mailto:isaac.w.oram@intel.com>

Isaac Oram (27):
  BeepDebugFeaturePkg: Use MinPlatformPkg build include files
  BeepDebugFeaturePkg: Fix all relative package paths
  AcpiDebugFeaturePkg: Fix all relative package paths
  IpmiFeaturePkg: Fix all relative package paths
  IpmiFeaturePkg: Fix build errors
  S3FeaturePkg: Fix all relative package paths
  S3FeaturePkg: Use MinPlatformPkg build include files
  SmbiosFeaturePkg: Fix all relative package paths
  SmbiosFeaturePkg: Use MinPlatformPkg build include files
  UserAuthFeaturePkg: Fix all relative package paths
  UserAuthFeaturePkg: Use MinPlatformPkg build include files
  VirtualKeyboardFeaturePkg: Fix all relative package paths
  VirtualKeyboardFeaturePkg: Use MinPlatformPkg build include files
  VirtualKeyboardFeaturePkg: Add feature enable PCD
  NetworkFeaturePkg: Use MinPlatformPkg build include files
  LogoFeaturePkg: Use MinPlatformPkg build include files
  PostCodeDebugFeaturePkg: Complete as an advanced feature
  AcpiDebugFeaturePkg: Use MinPlatformPkg build include files
  Usb3DebugFeaturePkg: Align with feature design guidelines
  SpcrFeaturePkg: Use MinPlatform build include files
  TemplateFeaturePkg: Use MinPlatform build include files
  AdvancedFeaturePkg: Fix all relative package paths
  AdvancedFeaturePkg: Add missing features
  MinPlatformPkg/Build: Add an include file for the common SPI FV info
  WhitleyOpenBoardPkg/Build: Use common SPI FV Header include
  AdvancedFeaturePkg/Build: Add FDF to create FV for all features
  WhitleyOpenBoardPkg/Build: Enable Features/Intel features

 Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc                                                                  |  67 +++++-
 Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.fdf                                                                  |  49 +++++
 Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc                                                            |  49 +++--
 Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc                                                         |  64 +++++-
 Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf                                                                  |  49 +++--
 Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf                                                                   |  49 +++--
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf                                             |   2 +-
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf                                             |   2 +-
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec                                                      |   2 +-
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dsc                                                      |  21 ++
 Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc                                                 |  74 +------
 Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf                                                       |   4 +-
 Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dec                                                      |   7 +-
 Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dsc                                                      |  28 +++
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc                                                 | 222 ++++++-------------
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/Library/BeepLib.h                                                    |   6 +-
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PostMemory.fdf                                                       |  14 ++
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PreMemory.fdf                                                        |  13 ++
 Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/PeiBeepStatusCodeHandlerLib.inf             |   5 +-
 Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf      |   3 -
 Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/SmmBeepStatusCodeHandlerLib.inf             |   3 -
 Features/Intel/Debugging/BeepDebugFeaturePkg/Readme.md                                                                    |  91 +++++---
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostCodeDebugFeature.dsc                                         | 231 +++++---------------
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostMemory.fdf                                                   |  14 ++
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PreMemory.fdf                                                    |  13 ++
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Library/PostCodeStatusCodeHandlerLib/PeiPostCodeStatusCodeHandlerLib.inf |   2 +-
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/PostCodeDebugFeaturePkg.dec                                              |  11 +
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/PostCodeDebugFeaturePkg.dsc                                              |  30 +++
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Readme.md                                                                |  31 ++-
 Features/Intel/Debugging/Usb3DebugFeaturePkg/Include/Usb3DebugFeature.dsc                                                 | 131 ++---------
 Features/Intel/Debugging/Usb3DebugFeaturePkg/Readme.md                                                                    |  50 +++--
 Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dec                                                      |  14 +-
 Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dsc                                                      |  18 ++
 Features/Intel/Network/NetworkFeaturePkg/Include/NetworkFeature.dsc                                                       |  89 +-------
 Features/Intel/Network/NetworkFeaturePkg/NetworkFeaturePkg.dsc                                                            |  18 ++
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcAcpi/BmcAcpi.inf                                                     |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/BmcElog.inf                                                     |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbDxe.inf                                                          |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbPei.inf                                                          |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dxe/GenericIpmi.inf                                         |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Pei/PeiGenericIpmi.inf                                      |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Smm/SmmGenericIpmi.inf                                      |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc                                                 |  90 ++------
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMemory.fdf                                                  |  16 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PreMemory.fdf                                                   |   6 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dsc                                                      |  18 ++
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFru/IpmiFru.inf                                                     |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/DxeIpmiInit.inf                                                |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/PeiIpmiInit.inf                                                |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBaseLib/IpmiBaseLib.inf                                     |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBaseLibNull/IpmiBaseLibNull.inf                             |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiCommandLib/IpmiCommandLib.inf                               |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiPlatformHookLibNull/IpmiPlatformHookLibNull.inf             |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/PeiIpmiBaseLib/PeiIpmiBaseLib.inf                               |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/SmmIpmiBaseLib/SmmIpmiBaseLib.inf                               |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/OsWdt/OsWdt.inf                                                         |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/SolStatus/SolStatus.inf                                                 |   2 +-
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/Library/SpcrDeviceLib.h                                         |   2 +-
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PostMemory.fdf                                                  |  13 ++
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PreMemory.fdf                                                   |  11 +
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/SpcrFeature.dsc                                                 |  62 ------
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Readme.md                                                               |  12 +-
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dec                                                      |   6 +
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dsc                                                      |  18 ++
 Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf                                                         |   2 +-
 Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc                                                         |  74 +------
 Features/Intel/PowerManagement/S3FeaturePkg/S3FeaturePkg.dsc                                                              |  18 ++
 Features/Intel/PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf                                                               |   2 +-
 Features/Intel/Readme.md                                                                                                  |  49 +++--
 Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf                                                  |   2 +-
 Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.dsc                                               |  54 +----
 Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf                                       |   2 +-
 Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec                                                    |  10 +-
 Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dsc                                                    |  18 ++
 Features/Intel/TemplateFeaturePkg/Include/TemplateFeature.dsc                                                             |   2 +-
 Features/Intel/TemplateFeaturePkg/TemplateFeaturePkg.dsc                                                                  |  18 ++
 Features/Intel/UserInterface/LogoFeaturePkg/Include/LogoFeature.dsc                                                       |  69 +-----
 Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dec                                                            |   2 -
 Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dsc                                                            |  38 +++-
 Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf                                                    |   6 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc                                               |  92 +-------
 Features/Intel/UserInterface/UserAuthFeaturePkg/Library/PlatformPasswordLibNull/PlatformPasswordLibNull.inf               |   2 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/Library/UserPasswordLib/UserPasswordLib.inf                               |   2 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/Library/UserPasswordUiLib/UserPasswordUiLib.inf                           |   2 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dsc                                                    |  18 ++
 Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dxe.inf                       |   2 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.inf                        |   2 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSmm.inf                        |   2 +-
 Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/PostMemory.fdf                                             |   2 +-
 Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/VirtualKeyboardFeature.dsc                                 |  64 +-----
 Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardFeaturePkg.dec                                      |   7 +-
 Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardFeaturePkg.dsc                                      |  18 ++
 Platform/Intel/{WhitleyOpenBoardPkg => MinPlatformPkg}/Include/Fdf/CommonSpiFvHeaderInfo.fdf                              |   2 +-
 Platform/Intel/WhitleyOpenBoardPkg/JunctionCity/PlatformPkg.fdf                                                           |  48 ++--
 Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc                                                                        |  44 ++++
 Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.fdf                                                                        |  54 ++---
 96 files changed, 1159 insertions(+), 1334 deletions(-)  create mode 100644 Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.fdf
 create mode 100644 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PostMemory.fdf
 create mode 100644 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PreMemory.fdf
 create mode 100644 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostMemory.fdf
 create mode 100644 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PreMemory.fdf
 create mode 100644 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PostMemory.fdf
 create mode 100644 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PreMemory.fdf
 rename Platform/Intel/{WhitleyOpenBoardPkg => MinPlatformPkg}/Include/Fdf/CommonSpiFvHeaderInfo.fdf (88%)

--
2.27.0.windows.1

^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency
  2022-01-13  3:15   ` Oram, Isaac W
  2022-01-13  3:52     ` Nate DeSimone
@ 2022-01-13  3:53     ` Nate DeSimone
  2022-01-13 19:33       ` Oram, Isaac W
  1 sibling, 1 reply; 86+ messages in thread
From: Nate DeSimone @ 2022-01-13  3:53 UTC (permalink / raw)
  To: Oram, Isaac W, devel@edk2.groups.io
  Cc: Chaganty, Rangasai V, Gao, Liming, Dong, Eric, Tan, Ming,
	Chiu, Chasel, Bi, Dandan, Shindo, Miki, Abbas, Mohamed,
	KARPAGAVINAYAGAM, MANICKAVASAKAM

Hi Isaac,

Comments inline.

Thanks,
Nate

-----Original Message-----
From: Oram, Isaac W <isaac.w.oram@intel.com> 
Sent: Wednesday, January 12, 2022 7:15 PM
To: Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>; devel@edk2.groups.io
Cc: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Dong, Eric <eric.dong@intel.com>; Tan, Ming <ming.tan@intel.com>; Chiu, Chasel <chasel.chiu@intel.com>; Bi, Dandan <dandan.bi@intel.com>; Shindo, Miki <miki.shindo@intel.com>; Abbas, Mohamed <mohamed.abbas@intel.com>; KARPAGAVINAYAGAM, MANICKAVASAKAM <manickavasakamk@ami.com>
Subject: RE: [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency

Thanks Nate.

Comments in line.

Regards,
Isaac

-----Original Message-----
From: Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>
Sent: Wednesday, January 12, 2022 6:47 PM
To: Oram, Isaac W <isaac.w.oram@intel.com>; devel@edk2.groups.io
Cc: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Dong, Eric <eric.dong@intel.com>; Tan, Ming <ming.tan@intel.com>; Chiu, Chasel <chasel.chiu@intel.com>; Bi, Dandan <dandan.bi@intel.com>; Shindo, Miki <miki.shindo@intel.com>; Abbas, Mohamed <mohamed.abbas@intel.com>; KARPAGAVINAYAGAM, MANICKAVASAKAM <manickavasakamk@ami.com>
Subject: RE: [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency

Hi Isaac,

Thank you for doing this cleanup work. I have some comments for you. I have provided a summary of my feedback below:

PATCH 01/27

* Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc

Line 69: [Components.IA32] should be changed to [Components.$(PEI_ARCH)] Line 83: [Components.X64] should be changed to [Components.$(DXE_ARCH)]

Note: These comments can also be addressed by restoring the @todo comment stating that these changes still need to be done (which you deleted.)

[Isaac] $(DXE_ARCH) and $(PEI_ARCH) are not fully functional.  It appears that they are fine in DSC files, even when inside an include.  But they are not fine inside an include in an FDF file.  The PreMemory.fdf and PostMemory.fdf do not work when I try to introduce this change.  
As these are not required, ToDo are against coding style and are bad for comprehensibility, I would prefer to not add such useless comments back in.  Comments should improve the comprehensibility of code and should not distract from understanding the code.

[Nate] The $(PEI_ARCH)/$(DXE_ARCH) additions are not be necessary in the FDF files. Adding them to the DSC file should be sufficient. Can you re-test with just the DSC file change?

PATCH 18/27

* Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dsc

Line 33: [PcdsFeatureFlag.X64] should be changed to [PcdsFeatureFlag.$(DXE_ARCH)]

Note: This comment can also be addressed by adding a @todo comment stating that this change still needs to be done.
[Isaac] See prior response.

PATCH 19/27

* Features/Intel/Debugging/Usb3DebugFeaturePkg/Include/Usb3DebugFeature.dsc

Line 35: Typo here. Usb3DebugPortParamLibo should be Usb3DebugPortParamLib.
[Isaac] Good catch.  I guess we don't catch that class of error if the library class is not used.

* Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dsc

Line 40: Did you test compilation for the Usb3DebugFeaturePkg? I've generally run into issues when a components sections does not specify a machine architecture through some sort of means.
[Isaac] There is no code consuming these libraries.  I verified build of 32 and 64 bit modes as well as part of AdvancedFeaturePkg build and a board package build.
I believe that library classes can be specified by module type and the build tool builds the right mode for the consuming driver on demand.  Basically, there is no value to specifying architecture for a library.
This does not work with components however.  If you leave the architecture unspecified, you get an error when including the component in an FDF as the build does not know how to resolve.

[Nate] I bring this up because you added a [Components] section and put this package's library classes into that [Components] section for the purposes of running a build test on those library classes even though they are not consumed by anything. That new [Components] section does not specify a machine architecture so I'm wondering if the compilation still succeeds.

PATCH 26/27

Since FvAdvanced is post-memory and not covered by the boot guard IBB, I suspect we should probably also support optional signing of that FV.
[Isaac] I do not know how to act on that suggestion.  That seems out of scope for this change.  I restricted my changes to be functionally compatible as I do not have hardware to test these changes other than minimally.

[Nate] Nevermind. I checked all the OpenBoardPkgs we have and none of them have FV signing enabled anyway. Ignore this comment.

Thanks,
Nate

-----Original Message-----
From: Oram, Isaac W <isaac.w.oram@intel.com>
Sent: Tuesday, January 11, 2022 6:20 PM
To: devel@edk2.groups.io
Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Dong, Eric <eric.dong@intel.com>; Tan, Ming <ming.tan@intel.com>; Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>; Chiu, Chasel <chasel.chiu@intel.com>; Bi, Dandan <dandan.bi@intel.com>; Shindo, Miki <miki.shindo@intel.com>; Abbas, Mohamed <mohamed.abbas@intel.com>; KARPAGAVINAYAGAM, MANICKAVASAKAM <manickavasakamk@ami.com>
Subject: [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency

This series addresses inconsistencies in feature implementation and use. Some inconsistencies are just conventions of the feature design/template/convention.  Some are inconsistency with feature design intent that negatively affect the usability of the features and the amount of work required from board porting engineers.

Some features were missing feature enable flags.
Some features had non-functional standalone builds.
Many features were implemented to include common core build content in their feature include files.
Updated some of the Readme content.
Added AdvancedFeaturePkg.fdf to build all feature content to support verifying no build time issues between features.
Removed duplicate and unused content from build files.
Modified the TemplateFeaturePkg to use the common MinPlatform include content.

Removed all instances where features were relative to Features/Intel and made them relative to the package roots.
This does mean PACKAGES_PATH may need to be extended for all the feature domains.  Debugging, PowerManagement, etc.
However, it should enable packaging tools to function properly as the relative paths violate spec.

Use of the common MinPlatformPkg build includes does increase the build time for each individual feature in standalone build modes. It does not negatively impact board or AdvancedFeaturePkg builds as the common content is only built once. Part of MinPlatform arch intent is to reduce cognitive complexity, so the simpler build is more valuable than fast build time.

Cc: Sai Chaganty <mailto:rangasai.v.chaganty@intel.com>
Cc: Liming Gao <mailto:gaoliming@byosoft.com.cn>
Cc: Eric Dong <mailto:eric.dong@intel.com>
Cc: Ming Tan <mailto:ming.tan@intel.com>
Cc: Nate DeSimone <mailto:nathaniel.l.desimone@intel.com>
Cc: Chasel Chiu <mailto:chasel.chiu@intel.com>
Cc: Dandan Bi <mailto:dandan.bi@intel.com>
Cc: Miki Shindo <mailto:miki.shindo@intel.com>
Cc: Mohamed Abbas <mailto:mohamed.abbas@intel.com>
Cc: Manickavasakam Karpagavinayagam <mailto:manickavasakamk@ami.com>

Signed-off-by: Isaac Oram <mailto:isaac.w.oram@intel.com>

Isaac Oram (27):
  BeepDebugFeaturePkg: Use MinPlatformPkg build include files
  BeepDebugFeaturePkg: Fix all relative package paths
  AcpiDebugFeaturePkg: Fix all relative package paths
  IpmiFeaturePkg: Fix all relative package paths
  IpmiFeaturePkg: Fix build errors
  S3FeaturePkg: Fix all relative package paths
  S3FeaturePkg: Use MinPlatformPkg build include files
  SmbiosFeaturePkg: Fix all relative package paths
  SmbiosFeaturePkg: Use MinPlatformPkg build include files
  UserAuthFeaturePkg: Fix all relative package paths
  UserAuthFeaturePkg: Use MinPlatformPkg build include files
  VirtualKeyboardFeaturePkg: Fix all relative package paths
  VirtualKeyboardFeaturePkg: Use MinPlatformPkg build include files
  VirtualKeyboardFeaturePkg: Add feature enable PCD
  NetworkFeaturePkg: Use MinPlatformPkg build include files
  LogoFeaturePkg: Use MinPlatformPkg build include files
  PostCodeDebugFeaturePkg: Complete as an advanced feature
  AcpiDebugFeaturePkg: Use MinPlatformPkg build include files
  Usb3DebugFeaturePkg: Align with feature design guidelines
  SpcrFeaturePkg: Use MinPlatform build include files
  TemplateFeaturePkg: Use MinPlatform build include files
  AdvancedFeaturePkg: Fix all relative package paths
  AdvancedFeaturePkg: Add missing features
  MinPlatformPkg/Build: Add an include file for the common SPI FV info
  WhitleyOpenBoardPkg/Build: Use common SPI FV Header include
  AdvancedFeaturePkg/Build: Add FDF to create FV for all features
  WhitleyOpenBoardPkg/Build: Enable Features/Intel features

 Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc                                                                  |  67 +++++-
 Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.fdf                                                                  |  49 +++++
 Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc                                                            |  49 +++--
 Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc                                                         |  64 +++++-
 Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf                                                                  |  49 +++--
 Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf                                                                   |  49 +++--
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf                                             |   2 +-
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf                                             |   2 +-
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec                                                      |   2 +-
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dsc                                                      |  21 ++
 Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc                                                 |  74 +------
 Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf                                                       |   4 +-
 Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dec                                                      |   7 +-
 Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dsc                                                      |  28 +++
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc                                                 | 222 ++++++-------------
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/Library/BeepLib.h                                                    |   6 +-
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PostMemory.fdf                                                       |  14 ++
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PreMemory.fdf                                                        |  13 ++
 Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/PeiBeepStatusCodeHandlerLib.inf             |   5 +-
 Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf      |   3 -
 Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/SmmBeepStatusCodeHandlerLib.inf             |   3 -
 Features/Intel/Debugging/BeepDebugFeaturePkg/Readme.md                                                                    |  91 +++++---
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostCodeDebugFeature.dsc                                         | 231 +++++---------------
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostMemory.fdf                                                   |  14 ++
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PreMemory.fdf                                                    |  13 ++
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Library/PostCodeStatusCodeHandlerLib/PeiPostCodeStatusCodeHandlerLib.inf |   2 +-
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/PostCodeDebugFeaturePkg.dec                                              |  11 +
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/PostCodeDebugFeaturePkg.dsc                                              |  30 +++
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Readme.md                                                                |  31 ++-
 Features/Intel/Debugging/Usb3DebugFeaturePkg/Include/Usb3DebugFeature.dsc                                                 | 131 ++---------
 Features/Intel/Debugging/Usb3DebugFeaturePkg/Readme.md                                                                    |  50 +++--
 Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dec                                                      |  14 +-
 Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dsc                                                      |  18 ++
 Features/Intel/Network/NetworkFeaturePkg/Include/NetworkFeature.dsc                                                       |  89 +-------
 Features/Intel/Network/NetworkFeaturePkg/NetworkFeaturePkg.dsc                                                            |  18 ++
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcAcpi/BmcAcpi.inf                                                     |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/BmcElog.inf                                                     |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbDxe.inf                                                          |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbPei.inf                                                          |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dxe/GenericIpmi.inf                                         |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Pei/PeiGenericIpmi.inf                                      |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Smm/SmmGenericIpmi.inf                                      |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc                                                 |  90 ++------
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMemory.fdf                                                  |  16 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PreMemory.fdf                                                   |   6 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dsc                                                      |  18 ++
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFru/IpmiFru.inf                                                     |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/DxeIpmiInit.inf                                                |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/PeiIpmiInit.inf                                                |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBaseLib/IpmiBaseLib.inf                                     |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBaseLibNull/IpmiBaseLibNull.inf                             |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiCommandLib/IpmiCommandLib.inf                               |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiPlatformHookLibNull/IpmiPlatformHookLibNull.inf             |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/PeiIpmiBaseLib/PeiIpmiBaseLib.inf                               |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/SmmIpmiBaseLib/SmmIpmiBaseLib.inf                               |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/OsWdt/OsWdt.inf                                                         |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/SolStatus/SolStatus.inf                                                 |   2 +-
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/Library/SpcrDeviceLib.h                                         |   2 +-
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PostMemory.fdf                                                  |  13 ++
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PreMemory.fdf                                                   |  11 +
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/SpcrFeature.dsc                                                 |  62 ------
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Readme.md                                                               |  12 +-
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dec                                                      |   6 +
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dsc                                                      |  18 ++
 Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf                                                         |   2 +-
 Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc                                                         |  74 +------
 Features/Intel/PowerManagement/S3FeaturePkg/S3FeaturePkg.dsc                                                              |  18 ++
 Features/Intel/PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf                                                               |   2 +-
 Features/Intel/Readme.md                                                                                                  |  49 +++--
 Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf                                                  |   2 +-
 Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.dsc                                               |  54 +----
 Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf                                       |   2 +-
 Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec                                                    |  10 +-
 Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dsc                                                    |  18 ++
 Features/Intel/TemplateFeaturePkg/Include/TemplateFeature.dsc                                                             |   2 +-
 Features/Intel/TemplateFeaturePkg/TemplateFeaturePkg.dsc                                                                  |  18 ++
 Features/Intel/UserInterface/LogoFeaturePkg/Include/LogoFeature.dsc                                                       |  69 +-----
 Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dec                                                            |   2 -
 Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dsc                                                            |  38 +++-
 Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf                                                    |   6 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc                                               |  92 +-------
 Features/Intel/UserInterface/UserAuthFeaturePkg/Library/PlatformPasswordLibNull/PlatformPasswordLibNull.inf               |   2 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/Library/UserPasswordLib/UserPasswordLib.inf                               |   2 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/Library/UserPasswordUiLib/UserPasswordUiLib.inf                           |   2 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dsc                                                    |  18 ++
 Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dxe.inf                       |   2 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.inf                        |   2 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSmm.inf                        |   2 +-
 Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/PostMemory.fdf                                             |   2 +-
 Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/VirtualKeyboardFeature.dsc                                 |  64 +-----
 Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardFeaturePkg.dec                                      |   7 +-
 Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardFeaturePkg.dsc                                      |  18 ++
 Platform/Intel/{WhitleyOpenBoardPkg => MinPlatformPkg}/Include/Fdf/CommonSpiFvHeaderInfo.fdf                              |   2 +-
 Platform/Intel/WhitleyOpenBoardPkg/JunctionCity/PlatformPkg.fdf                                                           |  48 ++--
 Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc                                                                        |  44 ++++
 Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.fdf                                                                        |  54 ++---
 96 files changed, 1159 insertions(+), 1334 deletions(-)  create mode 100644 Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.fdf
 create mode 100644 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PostMemory.fdf
 create mode 100644 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PreMemory.fdf
 create mode 100644 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostMemory.fdf
 create mode 100644 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PreMemory.fdf
 create mode 100644 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PostMemory.fdf
 create mode 100644 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PreMemory.fdf
 rename Platform/Intel/{WhitleyOpenBoardPkg => MinPlatformPkg}/Include/Fdf/CommonSpiFvHeaderInfo.fdf (88%)

--
2.27.0.windows.1

^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency
  2022-01-13  3:53     ` Nate DeSimone
@ 2022-01-13 19:33       ` Oram, Isaac W
  2022-01-19 23:30         ` Nate DeSimone
  0 siblings, 1 reply; 86+ messages in thread
From: Oram, Isaac W @ 2022-01-13 19:33 UTC (permalink / raw)
  To: Desimone, Nathaniel L, devel@edk2.groups.io
  Cc: Chaganty, Rangasai V, Gao, Liming, Dong, Eric, Tan, Ming,
	Chiu, Chasel, Bi, Dandan, Shindo, Miki, Abbas, Mohamed,
	KARPAGAVINAYAGAM, MANICKAVASAKAM

Inline discussion continues.

Regards,
Isaac

-----Original Message-----
From: Desimone, Nathaniel L <nathaniel.l.desimone@intel.com> 
Sent: Wednesday, January 12, 2022 7:54 PM
To: Oram, Isaac W <isaac.w.oram@intel.com>; devel@edk2.groups.io
Cc: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Dong, Eric <eric.dong@intel.com>; Tan, Ming <ming.tan@intel.com>; Chiu, Chasel <chasel.chiu@intel.com>; Bi, Dandan <dandan.bi@intel.com>; Shindo, Miki <miki.shindo@intel.com>; Abbas, Mohamed <mohamed.abbas@intel.com>; KARPAGAVINAYAGAM, MANICKAVASAKAM <manickavasakamk@ami.com>
Subject: RE: [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency

Hi Isaac,

Comments inline.

Thanks,
Nate

-----Original Message-----
From: Oram, Isaac W <isaac.w.oram@intel.com> 
Sent: Wednesday, January 12, 2022 7:15 PM
To: Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>; devel@edk2.groups.io
Cc: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Dong, Eric <eric.dong@intel.com>; Tan, Ming <ming.tan@intel.com>; Chiu, Chasel <chasel.chiu@intel.com>; Bi, Dandan <dandan.bi@intel.com>; Shindo, Miki <miki.shindo@intel.com>; Abbas, Mohamed <mohamed.abbas@intel.com>; KARPAGAVINAYAGAM, MANICKAVASAKAM <manickavasakamk@ami.com>
Subject: RE: [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency

Thanks Nate.

Comments in line.

Regards,
Isaac

-----Original Message-----
From: Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>
Sent: Wednesday, January 12, 2022 6:47 PM
To: Oram, Isaac W <isaac.w.oram@intel.com>; devel@edk2.groups.io
Cc: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Dong, Eric <eric.dong@intel.com>; Tan, Ming <ming.tan@intel.com>; Chiu, Chasel <chasel.chiu@intel.com>; Bi, Dandan <dandan.bi@intel.com>; Shindo, Miki <miki.shindo@intel.com>; Abbas, Mohamed <mohamed.abbas@intel.com>; KARPAGAVINAYAGAM, MANICKAVASAKAM <manickavasakamk@ami.com>
Subject: RE: [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency

Hi Isaac,

Thank you for doing this cleanup work. I have some comments for you. I have provided a summary of my feedback below:

PATCH 01/27

* Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc

Line 69: [Components.IA32] should be changed to [Components.$(PEI_ARCH)] Line 83: [Components.X64] should be changed to [Components.$(DXE_ARCH)]

Note: These comments can also be addressed by restoring the @todo comment stating that these changes still need to be done (which you deleted.)

[Isaac] $(DXE_ARCH) and $(PEI_ARCH) are not fully functional.  It appears that they are fine in DSC files, even when inside an include.  But they are not fine inside an include in an FDF file.  The PreMemory.fdf and PostMemory.fdf do not work when I try to introduce this change.  
As these are not required, ToDo are against coding style and are bad for comprehensibility, I would prefer to not add such useless comments back in.  Comments should improve the comprehensibility of code and should not distract from understanding the code.

[Nate] The $(PEI_ARCH)/$(DXE_ARCH) additions are not be necessary in the FDF files. Adding them to the DSC file should be sufficient. Can you re-test with just the DSC file change?

[Isaac] I can't make the build work with a macros in the DSC.  FDF parsing throws an error.  I misspoke slightly in the prior comment, it is not the FDF include that is the problem.  It is the DSC include.

The macros aren't used in the FDF, but the presence of the included macro somehow interferes with the FDF parser determining the architecture for components.  It only seems to work without DSC includes.

If I use $(DXE_ARCH) in an includable DSC file, the FDF parsing throws this kind of error:  For example modifying AcpiDebugFeature.dsc to use $(DXE_ARCH)
Standalone build works fine (no FDF)
Enabling in a board build, you get:
build.py...
 : error F001: Module o:\edk2-platforms\Features\Intel\Debugging\AcpiDebugFeaturePkg\AcpiDebugDxeSmm\AcpiDebugDxe.inf NOT found in DSC file; Is it really a binary module?

If I move the [Components.$(DXE_ARCH)] to the platform DSC file, then the build succeeds.

I have submitted a bug to document this issue:  https://bugzilla.tianocore.org/show_bug.cgi?id=3803



PATCH 18/27

* Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dsc

Line 33: [PcdsFeatureFlag.X64] should be changed to [PcdsFeatureFlag.$(DXE_ARCH)]

Note: This comment can also be addressed by adding a @todo comment stating that this change still needs to be done.
[Isaac] See prior response.

PATCH 19/27

* Features/Intel/Debugging/Usb3DebugFeaturePkg/Include/Usb3DebugFeature.dsc

Line 35: Typo here. Usb3DebugPortParamLibo should be Usb3DebugPortParamLib.
[Isaac] Good catch.  I guess we don't catch that class of error if the library class is not used.

* Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dsc

Line 40: Did you test compilation for the Usb3DebugFeaturePkg? I've generally run into issues when a components sections does not specify a machine architecture through some sort of means.
[Isaac] There is no code consuming these libraries.  I verified build of 32 and 64 bit modes as well as part of AdvancedFeaturePkg build and a board package build.
I believe that library classes can be specified by module type and the build tool builds the right mode for the consuming driver on demand.  Basically, there is no value to specifying architecture for a library.
This does not work with components however.  If you leave the architecture unspecified, you get an error when including the component in an FDF as the build does not know how to resolve.

[Nate] I bring this up because you added a [Components] section and put this package's library classes into that [Components] section for the purposes of running a build test on those library classes even though they are not consumed by anything. That new [Components] section does not specify a machine architecture so I'm wondering if the compilation still succeeds.

[Isaac] 
Compilation in 32 and 64 bit are fine.  This technique was pre-existing in the USB feature.  I just moved it from the includable feature DSC to the standalone build DSC as I don't think that boards should build these libraries all the time.  

I have a mixed feeling about it.  It is a clever way to enable build testing for all architectures.  It is misleading though, as they are libraries and not components.  If we list the libraries in a bare [Components] section, the architecture is controlled by the build arch input and you can thus test both 32b and 64b builds easily with -a options.  As opposed to needing a component that includes the library to get the build tools to build the library for a given arch and cluttering the codebase with "dummy" components to enable build testing.  I think it is generally a good practice to have the standalone package builds verify build for all architectures.  But I didn't extend it to all features as I think that is worthy of an RFC discussion, if there should be another kind of build option, and so on.


PATCH 26/27

Since FvAdvanced is post-memory and not covered by the boot guard IBB, I suspect we should probably also support optional signing of that FV.
[Isaac] I do not know how to act on that suggestion.  That seems out of scope for this change.  I restricted my changes to be functionally compatible as I do not have hardware to test these changes other than minimally.

[Nate] Nevermind. I checked all the OpenBoardPkgs we have and none of them have FV signing enabled anyway. Ignore this comment.

Thanks,
Nate

-----Original Message-----
From: Oram, Isaac W <isaac.w.oram@intel.com>
Sent: Tuesday, January 11, 2022 6:20 PM
To: devel@edk2.groups.io
Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Dong, Eric <eric.dong@intel.com>; Tan, Ming <ming.tan@intel.com>; Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>; Chiu, Chasel <chasel.chiu@intel.com>; Bi, Dandan <dandan.bi@intel.com>; Shindo, Miki <miki.shindo@intel.com>; Abbas, Mohamed <mohamed.abbas@intel.com>; KARPAGAVINAYAGAM, MANICKAVASAKAM <manickavasakamk@ami.com>
Subject: [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency

This series addresses inconsistencies in feature implementation and use. Some inconsistencies are just conventions of the feature design/template/convention.  Some are inconsistency with feature design intent that negatively affect the usability of the features and the amount of work required from board porting engineers.

Some features were missing feature enable flags.
Some features had non-functional standalone builds.
Many features were implemented to include common core build content in their feature include files.
Updated some of the Readme content.
Added AdvancedFeaturePkg.fdf to build all feature content to support verifying no build time issues between features.
Removed duplicate and unused content from build files.
Modified the TemplateFeaturePkg to use the common MinPlatform include content.

Removed all instances where features were relative to Features/Intel and made them relative to the package roots.
This does mean PACKAGES_PATH may need to be extended for all the feature domains.  Debugging, PowerManagement, etc.
However, it should enable packaging tools to function properly as the relative paths violate spec.

Use of the common MinPlatformPkg build includes does increase the build time for each individual feature in standalone build modes. It does not negatively impact board or AdvancedFeaturePkg builds as the common content is only built once. Part of MinPlatform arch intent is to reduce cognitive complexity, so the simpler build is more valuable than fast build time.

Cc: Sai Chaganty <mailto:rangasai.v.chaganty@intel.com>
Cc: Liming Gao <mailto:gaoliming@byosoft.com.cn>
Cc: Eric Dong <mailto:eric.dong@intel.com>
Cc: Ming Tan <mailto:ming.tan@intel.com>
Cc: Nate DeSimone <mailto:nathaniel.l.desimone@intel.com>
Cc: Chasel Chiu <mailto:chasel.chiu@intel.com>
Cc: Dandan Bi <mailto:dandan.bi@intel.com>
Cc: Miki Shindo <mailto:miki.shindo@intel.com>
Cc: Mohamed Abbas <mailto:mohamed.abbas@intel.com>
Cc: Manickavasakam Karpagavinayagam <mailto:manickavasakamk@ami.com>

Signed-off-by: Isaac Oram <mailto:isaac.w.oram@intel.com>

Isaac Oram (27):
  BeepDebugFeaturePkg: Use MinPlatformPkg build include files
  BeepDebugFeaturePkg: Fix all relative package paths
  AcpiDebugFeaturePkg: Fix all relative package paths
  IpmiFeaturePkg: Fix all relative package paths
  IpmiFeaturePkg: Fix build errors
  S3FeaturePkg: Fix all relative package paths
  S3FeaturePkg: Use MinPlatformPkg build include files
  SmbiosFeaturePkg: Fix all relative package paths
  SmbiosFeaturePkg: Use MinPlatformPkg build include files
  UserAuthFeaturePkg: Fix all relative package paths
  UserAuthFeaturePkg: Use MinPlatformPkg build include files
  VirtualKeyboardFeaturePkg: Fix all relative package paths
  VirtualKeyboardFeaturePkg: Use MinPlatformPkg build include files
  VirtualKeyboardFeaturePkg: Add feature enable PCD
  NetworkFeaturePkg: Use MinPlatformPkg build include files
  LogoFeaturePkg: Use MinPlatformPkg build include files
  PostCodeDebugFeaturePkg: Complete as an advanced feature
  AcpiDebugFeaturePkg: Use MinPlatformPkg build include files
  Usb3DebugFeaturePkg: Align with feature design guidelines
  SpcrFeaturePkg: Use MinPlatform build include files
  TemplateFeaturePkg: Use MinPlatform build include files
  AdvancedFeaturePkg: Fix all relative package paths
  AdvancedFeaturePkg: Add missing features
  MinPlatformPkg/Build: Add an include file for the common SPI FV info
  WhitleyOpenBoardPkg/Build: Use common SPI FV Header include
  AdvancedFeaturePkg/Build: Add FDF to create FV for all features
  WhitleyOpenBoardPkg/Build: Enable Features/Intel features

 Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc                                                                  |  67 +++++-
 Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.fdf                                                                  |  49 +++++
 Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc                                                            |  49 +++--
 Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc                                                         |  64 +++++-
 Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf                                                                  |  49 +++--
 Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf                                                                   |  49 +++--
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf                                             |   2 +-
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf                                             |   2 +-
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec                                                      |   2 +-
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dsc                                                      |  21 ++
 Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc                                                 |  74 +------
 Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf                                                       |   4 +-
 Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dec                                                      |   7 +-
 Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dsc                                                      |  28 +++
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc                                                 | 222 ++++++-------------
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/Library/BeepLib.h                                                    |   6 +-
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PostMemory.fdf                                                       |  14 ++
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PreMemory.fdf                                                        |  13 ++
 Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/PeiBeepStatusCodeHandlerLib.inf             |   5 +-
 Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf      |   3 -
 Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/SmmBeepStatusCodeHandlerLib.inf             |   3 -
 Features/Intel/Debugging/BeepDebugFeaturePkg/Readme.md                                                                    |  91 +++++---
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostCodeDebugFeature.dsc                                         | 231 +++++---------------
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostMemory.fdf                                                   |  14 ++
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PreMemory.fdf                                                    |  13 ++
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Library/PostCodeStatusCodeHandlerLib/PeiPostCodeStatusCodeHandlerLib.inf |   2 +-
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/PostCodeDebugFeaturePkg.dec                                              |  11 +
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/PostCodeDebugFeaturePkg.dsc                                              |  30 +++
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Readme.md                                                                |  31 ++-
 Features/Intel/Debugging/Usb3DebugFeaturePkg/Include/Usb3DebugFeature.dsc                                                 | 131 ++---------
 Features/Intel/Debugging/Usb3DebugFeaturePkg/Readme.md                                                                    |  50 +++--
 Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dec                                                      |  14 +-
 Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dsc                                                      |  18 ++
 Features/Intel/Network/NetworkFeaturePkg/Include/NetworkFeature.dsc                                                       |  89 +-------
 Features/Intel/Network/NetworkFeaturePkg/NetworkFeaturePkg.dsc                                                            |  18 ++
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcAcpi/BmcAcpi.inf                                                     |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/BmcElog.inf                                                     |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbDxe.inf                                                          |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbPei.inf                                                          |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dxe/GenericIpmi.inf                                         |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Pei/PeiGenericIpmi.inf                                      |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Smm/SmmGenericIpmi.inf                                      |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc                                                 |  90 ++------
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMemory.fdf                                                  |  16 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PreMemory.fdf                                                   |   6 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dsc                                                      |  18 ++
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFru/IpmiFru.inf                                                     |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/DxeIpmiInit.inf                                                |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/PeiIpmiInit.inf                                                |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBaseLib/IpmiBaseLib.inf                                     |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBaseLibNull/IpmiBaseLibNull.inf                             |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiCommandLib/IpmiCommandLib.inf                               |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiPlatformHookLibNull/IpmiPlatformHookLibNull.inf             |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/PeiIpmiBaseLib/PeiIpmiBaseLib.inf                               |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/SmmIpmiBaseLib/SmmIpmiBaseLib.inf                               |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/OsWdt/OsWdt.inf                                                         |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/SolStatus/SolStatus.inf                                                 |   2 +-
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/Library/SpcrDeviceLib.h                                         |   2 +-
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PostMemory.fdf                                                  |  13 ++
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PreMemory.fdf                                                   |  11 +
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/SpcrFeature.dsc                                                 |  62 ------
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Readme.md                                                               |  12 +-
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dec                                                      |   6 +
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dsc                                                      |  18 ++
 Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf                                                         |   2 +-
 Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc                                                         |  74 +------
 Features/Intel/PowerManagement/S3FeaturePkg/S3FeaturePkg.dsc                                                              |  18 ++
 Features/Intel/PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf                                                               |   2 +-
 Features/Intel/Readme.md                                                                                                  |  49 +++--
 Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf                                                  |   2 +-
 Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.dsc                                               |  54 +----
 Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf                                       |   2 +-
 Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec                                                    |  10 +-
 Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dsc                                                    |  18 ++
 Features/Intel/TemplateFeaturePkg/Include/TemplateFeature.dsc                                                             |   2 +-
 Features/Intel/TemplateFeaturePkg/TemplateFeaturePkg.dsc                                                                  |  18 ++
 Features/Intel/UserInterface/LogoFeaturePkg/Include/LogoFeature.dsc                                                       |  69 +-----
 Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dec                                                            |   2 -
 Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dsc                                                            |  38 +++-
 Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf                                                    |   6 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc                                               |  92 +-------
 Features/Intel/UserInterface/UserAuthFeaturePkg/Library/PlatformPasswordLibNull/PlatformPasswordLibNull.inf               |   2 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/Library/UserPasswordLib/UserPasswordLib.inf                               |   2 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/Library/UserPasswordUiLib/UserPasswordUiLib.inf                           |   2 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dsc                                                    |  18 ++
 Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dxe.inf                       |   2 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.inf                        |   2 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSmm.inf                        |   2 +-
 Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/PostMemory.fdf                                             |   2 +-
 Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/VirtualKeyboardFeature.dsc                                 |  64 +-----
 Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardFeaturePkg.dec                                      |   7 +-
 Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardFeaturePkg.dsc                                      |  18 ++
 Platform/Intel/{WhitleyOpenBoardPkg => MinPlatformPkg}/Include/Fdf/CommonSpiFvHeaderInfo.fdf                              |   2 +-
 Platform/Intel/WhitleyOpenBoardPkg/JunctionCity/PlatformPkg.fdf                                                           |  48 ++--
 Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc                                                                        |  44 ++++
 Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.fdf                                                                        |  54 ++---
 96 files changed, 1159 insertions(+), 1334 deletions(-)  create mode 100644 Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.fdf
 create mode 100644 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PostMemory.fdf
 create mode 100644 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PreMemory.fdf
 create mode 100644 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostMemory.fdf
 create mode 100644 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PreMemory.fdf
 create mode 100644 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PostMemory.fdf
 create mode 100644 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PreMemory.fdf
 rename Platform/Intel/{WhitleyOpenBoardPkg => MinPlatformPkg}/Include/Fdf/CommonSpiFvHeaderInfo.fdf (88%)

--
2.27.0.windows.1

^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 03/27] AcpiDebugFeaturePkg: Fix all relative package paths
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 03/27] AcpiDebugFeaturePkg: " Oram, Isaac W
  2022-01-13  2:48   ` Nate DeSimone
@ 2022-01-14  5:18   ` Chaganty, Rangasai V
  2022-01-18 22:59     ` Oram, Isaac W
  1 sibling, 1 reply; 86+ messages in thread
From: Chaganty, Rangasai V @ 2022-01-14  5:18 UTC (permalink / raw)
  To: Oram, Isaac W, devel@edk2.groups.io; +Cc: Gao, Liming, Dong, Eric

Reviewed-by: Sai Chaganty <rangasai.v.chaganty@intel.com>

-----Original Message-----
From: Oram, Isaac W <isaac.w.oram@intel.com> 
Sent: Tuesday, January 11, 2022 6:20 PM
To: devel@edk2.groups.io
Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Dong, Eric <eric.dong@intel.com>
Subject: [edk2-devel][edk2-platforms][PATCH V1 03/27] AcpiDebugFeaturePkg: Fix all relative package paths

Packages should be at the root of a PACKAGES_PATH entry.
At some point, paths were relative to edk2-platforms/Features/Intel which was functional, but interferes with the proper functioning of packaging tools.

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Eric Dong <eric.dong@intel.com>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf | 2 +-  Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf | 2 +-
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec          | 2 +-
 Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc     | 4 ++--
 Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf           | 4 ++--
 5 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf
index b293d83cd9..04b5953bf6 100644
--- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf
+++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiD
+++ ebugDxe.inf
@@ -32,7 +32,7 @@
 [Packages]
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
-  Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
+  AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
 
 [Pcd]
   gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureActive  ## CONSUMES diff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf
index dbb33e4ae2..a0058b51ab 100644
--- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf
+++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiD
+++ ebugSmm.inf
@@ -33,7 +33,7 @@
 [Packages]
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
-  Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
+  AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
 
 [Pcd]
   gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureActive  ## CONSUMES diff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
index c3bd89fe2b..9159231007 100644
--- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
+++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.d
+++ ec
@@ -29,7 +29,7 @@
 [PcdsFeatureFlag]
   gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable|FALSE|BOOLEAN|0xA0000001
 
-[PcdsFixedAtBuild,PcdsPatchableInModule,PcdsDynamic,PcdsDynamicEx]
+[PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]
   ## This PCD specifies the ACPI debug message buffer size.
   gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugBufferSize|0x10000|UINT32|0xF0000001
 
diff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc
index 856222a53d..b142978be1 100644
--- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc
+++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeat
+++ ure.dsc
@@ -109,8 +109,8 @@
   # in the package build.
 
   # Add components here that should be included in the package build.
-  Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf
-  Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf
+  AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf
+  AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf
 
 ###################################################################################################
 #
diff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf
index bbd6eca87b..84560dae50 100644
--- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf
+++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fd
+++ f
@@ -7,5 +7,5 @@
 #
 ##
 
-  INF RuleOverride = DRIVER_ACPITABLE Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf
-  INF RuleOverride = DRIVER_ACPITABLE Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf
+  INF RuleOverride = DRIVER_ACPITABLE 
+ AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf
+  INF RuleOverride = DRIVER_ACPITABLE 
+ AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf
--
2.27.0.windows.1


^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 06/27] S3FeaturePkg: Fix all relative package paths
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 06/27] S3FeaturePkg: Fix all relative package paths Oram, Isaac W
  2022-01-13  2:48   ` Nate DeSimone
@ 2022-01-14  5:19   ` Chaganty, Rangasai V
  2022-01-19  1:11     ` Oram, Isaac W
  1 sibling, 1 reply; 86+ messages in thread
From: Chaganty, Rangasai V @ 2022-01-14  5:19 UTC (permalink / raw)
  To: Oram, Isaac W, devel@edk2.groups.io; +Cc: Gao, Liming

Reviewed-by: Sai Chaganty <rangasai.v.chaganty@intel.com>

-----Original Message-----
From: Oram, Isaac W <isaac.w.oram@intel.com> 
Sent: Tuesday, January 11, 2022 6:20 PM
To: devel@edk2.groups.io
Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
Subject: [edk2-devel][edk2-platforms][PATCH V1 06/27] S3FeaturePkg: Fix all relative package paths

Packages should be at the root of a PACKAGES_PATH entry.
At some point, paths were relative to edk2-platforms/Features/Intel which was functional, but interferes with the proper functioning of packaging tools.

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf | 2 +-  Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc | 2 +-
 Features/Intel/PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf       | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf b/Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf
index 3cd5cd9628..34caf3dacc 100644
--- a/Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf
+++ b/Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf
@@ -7,4 +7,4 @@
 #
 ##
 
-  INF PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf
+  INF S3FeaturePkg/S3Pei/S3Pei.inf
diff --git a/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc b/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc
index 312870981e..f94bd2b431 100644
--- a/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc
+++ b/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc
@@ -91,7 +91,7 @@
   # in the package build.
 
   # Add components here that should be included in the package build.
-  PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf
+  S3FeaturePkg/S3Pei/S3Pei.inf
 
 #
 # Feature DXE Components
diff --git a/Features/Intel/PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf b/Features/Intel/PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf
index 46fbb62a46..e485eac952 100644
--- a/Features/Intel/PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf
+++ b/Features/Intel/PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf
@@ -23,7 +23,7 @@
 [Packages]
   MdePkg/MdePkg.dec
   IntelSiliconPkg/IntelSiliconPkg.dec
-  PowerManagement/S3FeaturePkg/S3FeaturePkg.dec
+  S3FeaturePkg/S3FeaturePkg.dec
 
 [Sources]
   S3Pei.c
--
2.27.0.windows.1


^ permalink raw reply related	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 02/27] BeepDebugFeaturePkg: Fix all relative package paths
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 02/27] BeepDebugFeaturePkg: Fix all relative package paths Oram, Isaac W
  2022-01-13  2:47   ` Nate DeSimone
@ 2022-01-14  5:27   ` Chaganty, Rangasai V
  1 sibling, 0 replies; 86+ messages in thread
From: Chaganty, Rangasai V @ 2022-01-14  5:27 UTC (permalink / raw)
  To: Oram, Isaac W, devel@edk2.groups.io; +Cc: Gao, Liming, Dong, Eric

Reviewed-by: Sai Chaganty <rangasai.v.chaganty@intel.com>

-----Original Message-----
From: Oram, Isaac W <isaac.w.oram@intel.com> 
Sent: Tuesday, January 11, 2022 6:20 PM
To: devel@edk2.groups.io
Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Dong, Eric <eric.dong@intel.com>
Subject: [edk2-devel][edk2-platforms][PATCH V1 02/27] BeepDebugFeaturePkg: Fix all relative package paths

Packages should be at the root of a PACKAGES_PATH entry.
At some point, paths were relative to edk2-platforms/Features/Intel which was functional, but interferes with the proper functioning of packaging tools.

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Eric Dong <eric.dong@intel.com>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc b/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc
index 251de6932b..00ef022657 100644
--- a/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc
+++ b/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeat
+++ ure.dsc
@@ -54,17 +54,17 @@
   gBeepDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUseBeep
 
 [LibraryClasses.Common]
-  BeepLib|Debugging/BeepDebugFeaturePkg/Library/BeepLib/BeepLibNull.inf
-  BeepMapLib|Debugging/BeepDebugFeaturePkg/Library/BeepMapLib/BeepMapLib.inf
+  BeepLib|BeepDebugFeaturePkg/Library/BeepLib/BeepLibNull.inf
+  BeepMapLib|BeepDebugFeaturePkg/Library/BeepMapLib/BeepMapLib.inf
 
 [LibraryClasses.PEIM, LibraryClasses.PEI_CORE]
-  StatusCodeHandlerLib|Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/PeiBeepStatusCodeHandlerLib.inf
+  
+ StatusCodeHandlerLib|BeepDebugFeaturePkg/Library/BeepStatusCodeHandler
+ Lib/PeiBeepStatusCodeHandlerLib.inf
 
 [LibraryClasses.DXE_RUNTIME_DRIVER]
-  StatusCodeHandlerLib|Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf
+  
+ StatusCodeHandlerLib|BeepDebugFeaturePkg/Library/BeepStatusCodeHandler
+ Lib/RuntimeDxeBeepStatusCodeHandlerLib.inf
 
 [LibraryClasses.DXE_SMM_DRIVER]
-  StatusCodeHandlerLib|Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/SmmBeepStatusCodeHandlerLib.inf
+  
+ StatusCodeHandlerLib|BeepDebugFeaturePkg/Library/BeepStatusCodeHandler
+ Lib/SmmBeepStatusCodeHandlerLib.inf
 
 [Components.IA32]
 
@@ -77,7 +77,7 @@
       #
       FILE_GUID = $(BEEP_PEIM_FILENAME)
     <LibraryClasses>
-      NULL|Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/PeiBeepStatusCodeHandlerLib.inf
+      
+ NULL|BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/PeiBeepStatu
+ sCodeHandlerLib.inf
   }
 
 [Components.X64]
@@ -90,7 +90,7 @@
       #
       FILE_GUID = $(BEEP_DXE_FILENAME)
     <LibraryClasses>
-      NULL|Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf
+      
+ NULL|BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeDxeBe
+ epStatusCodeHandlerLib.inf
   }
 
   MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerSmm.inf { @@ -102,5 +102,5 @@
       #
       FILE_GUID = $(BEEP_SMM_FILENAME)
     <LibraryClasses>
-      NULL|Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/SmmBeepStatusCodeHandlerLib.inf
+      
+ NULL|BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/SmmBeepStatu
+ sCodeHandlerLib.inf
   }
--
2.27.0.windows.1


^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 07/27] S3FeaturePkg: Use MinPlatformPkg build include files
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 07/27] S3FeaturePkg: Use MinPlatformPkg build include files Oram, Isaac W
  2022-01-13  2:49   ` Nate DeSimone
@ 2022-01-14  5:29   ` Chaganty, Rangasai V
  2022-01-19  1:26     ` Oram, Isaac W
  1 sibling, 1 reply; 86+ messages in thread
From: Chaganty, Rangasai V @ 2022-01-14  5:29 UTC (permalink / raw)
  To: Oram, Isaac W, devel@edk2.groups.io; +Cc: Gao, Liming

Reviewed-by: Sai Chaganty <rangasai.v.chaganty@intel.com>

-----Original Message-----
From: Oram, Isaac W <isaac.w.oram@intel.com> 
Sent: Tuesday, January 11, 2022 6:20 PM
To: devel@edk2.groups.io
Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
Subject: [edk2-devel][edk2-platforms][PATCH V1 07/27] S3FeaturePkg: Use MinPlatformPkg build include files

Use the MinPlatformPkg common core build files to build libraries needed by this feature.

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf |  2 +-  Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc | 72 ++------------------
 Features/Intel/PowerManagement/S3FeaturePkg/S3FeaturePkg.dsc      | 18 +++++
 3 files changed, 26 insertions(+), 66 deletions(-)

diff --git a/Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf b/Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf
index 34caf3dacc..fdd16a4e03 100644
--- a/Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf
+++ b/Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf
@@ -7,4 +7,4 @@
 #
 ##
 
-  INF S3FeaturePkg/S3Pei/S3Pei.inf
+INF S3FeaturePkg/S3Pei/S3Pei.inf
diff --git a/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc b/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc
index f94bd2b431..cc34e78507 100644
--- a/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc
+++ b/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc
@@ -18,12 +18,12 @@
 #
 ################################################################################
 [Defines]
-!ifndef $(PEI_ARCH)
-  !error "PEI_ARCH must be specified to build this feature!"
-!endif
-!ifndef $(DXE_ARCH)
-  !error "DXE_ARCH must be specified to build this feature!"
-!endif
+  !ifndef $(PEI_ARCH)
+    !error "PEI_ARCH must be specified to build this feature!"
+  !endif
+  !ifndef $(DXE_ARCH)
+    !error "DXE_ARCH must be specified to build this feature!"
+  !endif
 
 ################################################################################
 #
@@ -31,34 +31,7 @@
 #
 ################################################################################
 
-!include MdePkg/MdeLibs.dsc.inc
-
-[LibraryClasses]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
-  PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf
-  PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
-  PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf
-
-[LibraryClasses.common.PEI_CORE,LibraryClasses.common.PEIM]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
-  MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
-  PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
-  PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
-  PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
-  PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
-
-  #######################################
-  # Silicon Initialization Package
-  #######################################
+[LibraryClasses.common.PEIM]
   SmmAccessLib|IntelSiliconPkg/Feature/SmmAccess/Library/PeiSmmAccessLib/PeiSmmAccessLib.inf
 
 ################################################################################
@@ -92,34 +65,3 @@
 
   # Add components here that should be included in the package build.
   S3FeaturePkg/S3Pei/S3Pei.inf
-
-#
-# Feature DXE Components
-#
-
-# @todo: Change below line to [Components.$(DXE_ARCH)] after https://bugzilla.tianocore.org/show_bug.cgi?id=2308
-#        is completed.
-[Components.X64]
-  #####################################
-  # S3 Feature Package
-  #####################################
-
-  # Add library instances here that are not included in package components and should be tested
-  # in the package build.
-
-  # Add components here that should be included in the package build.
-
-###################################################################################################
-#
-# BuildOptions Section - Define the module specific tool chain flags that should be used as
-#                        the default flags for a module. These flags are appended to any
-#                        standard flags that are defined by the build process. They can be
-#                        applied for any modules or only those modules with the specific
-#                        module style (EDK or EDKII) specified in [Components] section.
-#
-#                        For advanced features, it is recommended to enable [BuildOptions] in
-#                        the applicable INF file so it does not affect the whole board package
-#                        build when this DSC file is active.
-#
-###################################################################################################
-[BuildOptions]
diff --git a/Features/Intel/PowerManagement/S3FeaturePkg/S3FeaturePkg.dsc b/Features/Intel/PowerManagement/S3FeaturePkg/S3FeaturePkg.dsc
index 28ee49d429..e16a1f8d00 100644
--- a/Features/Intel/PowerManagement/S3FeaturePkg/S3FeaturePkg.dsc
+++ b/Features/Intel/PowerManagement/S3FeaturePkg/S3FeaturePkg.dsc
@@ -24,6 +24,24 @@
   PEI_ARCH                       = IA32
   DXE_ARCH                       = X64
 
+[Packages]
+  MinPlatformPkg/MinPlatformPkg.dec
+
+[PcdsFeatureFlag]
+  #
+  # PCD needed for MinPlatform build includes
+  #
+  gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable                |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable                   |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable                      |FALSE
+
+#
+# Include common libraries
+#
+!include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
+!include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
+!include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
+
 #
 # This package always builds the feature.
 #
--
2.27.0.windows.1


^ permalink raw reply related	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 08/27] SmbiosFeaturePkg: Fix all relative package paths
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 08/27] SmbiosFeaturePkg: Fix all relative package paths Oram, Isaac W
  2022-01-13  2:49   ` Nate DeSimone
@ 2022-01-14  5:31   ` Chaganty, Rangasai V
  2022-01-19  1:40     ` Oram, Isaac W
  1 sibling, 1 reply; 86+ messages in thread
From: Chaganty, Rangasai V @ 2022-01-14  5:31 UTC (permalink / raw)
  To: Oram, Isaac W, devel@edk2.groups.io; +Cc: Gao, Liming

Reviewed-by: Sai Chaganty <rangasai.v.chaganty@intel.com>

-----Original Message-----
From: Oram, Isaac W <isaac.w.oram@intel.com> 
Sent: Tuesday, January 11, 2022 6:20 PM
To: devel@edk2.groups.io
Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
Subject: [edk2-devel][edk2-platforms][PATCH V1 08/27] SmbiosFeaturePkg: Fix all relative package paths

Packages should be at the root of a PACKAGES_PATH entry.
At some point, paths were relative to edk2-platforms/Features/Intel which was functional, but interferes with the proper functioning of packaging tools.

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf            |  2 +-
 Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.dsc         |  2 +-
 Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf |  2 +-
 Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec              | 10 +++++-----
 4 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf b/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf
index 3ed23bd937..c3a3e81503 100644
--- a/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf
+++ b/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemo
+++ ry.fdf
@@ -7,4 +7,4 @@
 #
 ##
 
-  INF SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf
+  INF SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf
diff --git a/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.dsc b/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.dsc
index 31d44b68b3..094dd957b8 100644
--- a/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.dsc
+++ b/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFe
+++ ature.dsc
@@ -100,7 +100,7 @@
   # in the package build.
 
   # Add components here that should be included in the package build.
-  SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf
+  SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf
 
 ###################################################################################################
 #
diff --git a/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf b/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf
index bd8736b621..8e530c4945 100644
--- a/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf
+++ b/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/S
+++ mbiosBasicDxe.inf
@@ -33,7 +33,7 @@
 [Packages]
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
-  SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
+  SmbiosFeaturePkg/SmbiosFeaturePkg.dec
 
 [LibraryClasses]
   BaseLib
diff --git a/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec b/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
index 6170f37969..db3cdbb0d0 100644
--- a/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
+++ b/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg
+++ .dec
@@ -38,7 +38,7 @@
       IndustryStandard/SmBios.h
     <Packages>
       MdePkg/MdePkg.dec
-      SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
+      SmbiosFeaturePkg/SmbiosFeaturePkg.dec
   }
   gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType0BiosInformation.Vendor|0x1
   gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType0BiosInformation.BiosVersion|0x2
@@ -71,7 +71,7 @@
       IndustryStandard/SmBios.h
     <Packages>
       MdePkg/MdePkg.dec
-      SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
+      SmbiosFeaturePkg/SmbiosFeaturePkg.dec
   }
   gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType1SystemInformation.Manufacturer|0x1
   gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType1SystemInformation.ProductName|0x2
@@ -87,7 +87,7 @@
       IndustryStandard/SmBios.h
     <Packages>
       MdePkg/MdePkg.dec
-      SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
+      SmbiosFeaturePkg/SmbiosFeaturePkg.dec
   }
 
   #
@@ -111,7 +111,7 @@
       IndustryStandard/SmBios.h
     <Packages>
       MdePkg/MdePkg.dec
-      SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
+      SmbiosFeaturePkg/SmbiosFeaturePkg.dec
   }
   gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType3SystemEnclosureChassis.Manufacturer|0x1
   gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType3SystemEnclosureChassis.Type|MiscChassisTypeRackMountChassis
@@ -131,7 +131,7 @@
       IndustryStandard/SmBios.h
     <Packages>
       MdePkg/MdePkg.dec
-      SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
+      SmbiosFeaturePkg/SmbiosFeaturePkg.dec
   }
   gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType32SystemBootInformation.BootStatus|BootInformationStatusNoError
 
--
2.27.0.windows.1


^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 23/27] AdvancedFeaturePkg: Add missing features
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 23/27] AdvancedFeaturePkg: Add missing features Oram, Isaac W
  2022-01-13  2:50   ` Nate DeSimone
@ 2022-01-14  5:36   ` Chaganty, Rangasai V
  1 sibling, 0 replies; 86+ messages in thread
From: Chaganty, Rangasai V @ 2022-01-14  5:36 UTC (permalink / raw)
  To: Oram, Isaac W, devel@edk2.groups.io; +Cc: Gao, Liming

Reviewed-by: Sai Chaganty <rangasai.v.chaganty@intel.com>

-----Original Message-----
From: Oram, Isaac W <isaac.w.oram@intel.com> 
Sent: Tuesday, January 11, 2022 6:20 PM
To: devel@edk2.groups.io
Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
Subject: [edk2-devel][edk2-platforms][PATCH V1 23/27] AdvancedFeaturePkg: Add missing features

The AdvancedFeaturePkg is supposed to include all features.
Add Beep Debug feature to include DSC and FDF.

Order features based on their domains.

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc          | 66 ++++++++++++++++----
 Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc    | 36 ++++++++---
 Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc | 64 +++++++++++++++----
 Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf          | 36 ++++++++---
 Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf           | 36 ++++++++---
 Features/Intel/Readme.md                                          | 49 ++++++++++-----
 6 files changed, 219 insertions(+), 68 deletions(-)

diff --git a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
index 0c7a29cc75..02636da916 100644
--- a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
+++ b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
@@ -36,7 +36,6 @@
 
 !include AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc
 
-
 ################################################################################
 #
 # Advanced Feature Enable section - all advanced features are enabling for the @@ -44,26 +43,71 @@  #  ################################################################################
 [PcdsFeatureFlag]
-  gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable            |TRUE
-  gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable                      |TRUE
-  gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable                |TRUE
-  gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable                          |TRUE
-  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable                  |TRUE
-  gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable            |TRUE
-  gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable    |TRUE
-  gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable                      |TRUE
-  gLogoFeaturePkgTokenSpaceGuid.PcdJpgEnable                              |FALSE
+  #
+  # Debugging features
+  #
+  gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable              |TRUE
+  gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable              |TRUE
+  gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureEnable      |TRUE
+  gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable              |TRUE
+
+  #
+  # Network features
+  #
+  gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable                  |TRUE
+
+  #
+  # OutOfBandManagement features
+  #
+  gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable                        |TRUE
+  gSpcrFeaturePkgTokenSpaceGuid.PcdSpcrFeatureEnable                        |TRUE
+
+  #
+  # PowerManagement features
+  #
+  gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable                            |TRUE
+
+  #
+  # SystemInformation features
+  #
+  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable                    |TRUE
+
+  #
+  # UserInterface features
+  #
+  gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable                        |TRUE
+  gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable      |TRUE
+  
+ gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEnab
+ le  |TRUE
+
+#
+# PCD that are required to be set by the build target should be 
+configured here for test purposes # These settings are only for the purposes of buildings, boards should follow instructions in Readme files.
+#
+
+[PcdsFixedAtBuild]
+  gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugPortLibInstance|1
+
+[PcdsFeatureFlag]
+  #
+  # MinPlatform common include currently required PCD
+  #
   gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable                |FALSE
   gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable                   |FALSE
   gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable                      |FALSE
 
 #
-# Include common library
+# Include common libraries
 #
 !include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
 !include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
 !include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
 
+#
+# Libraries required to be specified by the build target # 
+[LibraryClasses.Common]
+  
+PlatformHookLib|MdeModulePkg/Library/BasePlatformHookLibNull/BasePlatfo
+rmHookLibNull.inf # Required by BeepDebugFeature
+
 #
 # This package builds all advanced features.
 #
diff --git a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc
index 874b8ce7db..2b36938df6 100644
--- a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc
+++ b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc
@@ -11,51 +11,67 @@
 ##
 
 #
-# Debug Advanced Features
+# Debugging features
 #
 !if gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable == TRUE
   !include AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc
 !endif
 
+!if gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable == 
+TRUE
+  !include BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc
+!endif
+
+!if 
+gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureEnable == 
+TRUE
+  !include PostCodeDebugFeaturePkg/Include/PostCodeDebugFeature.dsc
+!endif
+
 !if gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable == TRUE
   !include Usb3DebugFeaturePkg/Include/Usb3DebugFeature.dsc
 !endif
 
 #
-# Network Advanced Features
+# Network features
 #
 !if gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable == TRUE
   !include NetworkFeaturePkg/Include/NetworkFeature.dsc
 !endif
 
 #
-# Out-of-Band Management Advanced Features
+# OutOfBandManagement features
 #
 !if gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable == TRUE
   !include IpmiFeaturePkg/Include/IpmiFeature.dsc
 !endif
 
+!if gSpcrFeaturePkgTokenSpaceGuid.PcdSpcrFeatureEnable == TRUE
+  !include SpcrFeaturePkg/Include/SpcrFeature.dsc
+!endif
+
 #
-# Power Management Advanced Features
+# PowerManagement features
 #
 !if gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable == TRUE
   !include S3FeaturePkg/Include/S3Feature.dsc
 !endif
 
 #
-# System Information Advanced Features
+# SystemInformation features
 #
 !if gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable == TRUE
   !include SmbiosFeaturePkg/Include/SmbiosFeature.dsc
 !endif
 
 #
-# User Interface Advanced Features
+# UserInterface features
 #
-!if gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable == TRUE
-  !include UserAuthFeaturePkg/Include/UserAuthFeature.dsc
-!endif
-
 !if gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable == TRUE
   !include LogoFeaturePkg/Include/LogoFeature.dsc
 !endif
+
+!if 
+gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable == 
+TRUE
+  !include UserAuthFeaturePkg/Include/UserAuthFeature.dsc
+!endif
+
+!if 
+gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEnabl
+e == TRUE
+  !include VirtualKeyboardFeaturePkg/Include/VirtualKeyboardFeature.dsc
+!endif
diff --git a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc
index ad248de800..e214175eda 100644
--- a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc
+++ b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc
@@ -16,28 +16,70 @@
 #
 [Packages]
   MdePkg/MdePkg.dec
+
+  #
+  # Debugging features
+  #
   AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
+  BeepDebugFeaturePkg/BeepDebugFeaturePkg.dec
+  PostCodeDebugFeaturePkg/PostCodeDebugFeaturePkg.dec
   Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dec
+
+  #
+  # Networking features
+  #
   NetworkFeaturePkg/NetworkFeaturePkg.dec
+
+  #
+  # OutOfBandManagement features
+  #
   IpmiFeaturePkg/IpmiFeaturePkg.dec
+  SpcrFeaturePkg/SpcrFeaturePkg.dec
+
+  #
+  # PowerManagement features
+  #
   S3FeaturePkg/S3FeaturePkg.dec
+
+  #
+  # SystemInformation features
+  #
   SmbiosFeaturePkg/SmbiosFeaturePkg.dec
-  UserAuthFeaturePkg/UserAuthFeaturePkg.dec
+
+  #
+  # UserInterface features
+  #
   LogoFeaturePkg/LogoFeaturePkg.dec
-  BeepDebugFeaturePkg/BeepDebugFeaturePkg.dec
-  PostCodeDebugFeaturePkg/PostCodeDebugFeaturePkg.dec
+  UserAuthFeaturePkg/UserAuthFeaturePkg.dec
+  VirtualKeyboardFeaturePkg/VirtualKeyboardFeaturePkg.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
+  gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable              |FALSE
+  gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable              |FALSE
+  gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureEnable      |FALSE
+  gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable              |FALSE
+
+  gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable                  |FALSE
+
+  gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable                        |FALSE
+  gSpcrFeaturePkgTokenSpaceGuid.PcdSpcrFeatureEnable                        |FALSE
+
+  gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable                            |FALSE
+
+  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable                    |FALSE
+
+  gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable                        |FALSE
+  gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable      |FALSE
+  
+ gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEnab
+ le  |FALSE
+
+#
+# There seems to be some build parsing odd behavior that requires this 
+PCD to be specified even though # the *.fdf that consumes it is dependent on the feature flag.
+# This section is to ensure that boards have these PCD instantiated.
+#
+[PcdsFeatureFlag]
   gLogoFeaturePkgTokenSpaceGuid.PcdJpgEnable                              |FALSE
diff --git a/Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf b/Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf
index e710fe7f01..99089f9a7b 100644
--- a/Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf
+++ b/Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf
@@ -12,51 +12,67 @@
 ##
 
 #
-# Debug Advanced Features
+# Debugging features
 #
 !if gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable == TRUE
   !include AcpiDebugFeaturePkg/Include/PostMemory.fdf
 !endif
 
+!if gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable == 
+TRUE
+  !include BeepDebugFeaturePkg/Include/PostMemory.fdf
+!endif
+
+!if 
+gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureEnable == 
+TRUE
+  !include PostCodeDebugFeaturePkg/Include/PostMemory.fdf
+!endif
+
 !if gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable == TRUE
   !include Usb3DebugFeaturePkg/Include/PostMemory.fdf
 !endif
 
 #
-# Network Advanced Features
+# Network features
 #
 !if gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable == TRUE
   !include NetworkFeaturePkg/Include/PostMemory.fdf
 !endif
 
 #
-# Out-of-Band Management Advanced Features
+# OutOfBandManagement features
 #
 !if gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable == TRUE
   !include IpmiFeaturePkg/Include/PostMemory.fdf
 !endif
 
+!if gSpcrFeaturePkgTokenSpaceGuid.PcdSpcrFeatureEnable == TRUE
+  !include SpcrFeaturePkg/Include/PostMemory.fdf
+!endif
+
 #
-# Power Management Advanced Features
+# PowerManagement features
 #
 !if gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable == TRUE
   !include S3FeaturePkg/Include/PostMemory.fdf
 !endif
 
 #
-# System Information Advanced Features
+# SystemInformation features
 #
 !if gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable == TRUE
   !include SmbiosFeaturePkg/Include/PostMemory.fdf
 !endif
 
 #
-# User Interface Advanced Features
+# UserInterface features
 #
-!if gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable == TRUE
-  !include UserAuthFeaturePkg/Include/PostMemory.fdf
-!endif
-
 !if gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable == TRUE
   !include LogoFeaturePkg/Include/PostMemory.fdf
 !endif
+
+!if 
+gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable == 
+TRUE
+  !include UserAuthFeaturePkg/Include/PostMemory.fdf
+!endif
+
+!if 
+gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEnabl
+e == TRUE
+  !include VirtualKeyboardFeaturePkg/Include/PostMemory.fdf
+!endif
diff --git a/Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf b/Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf
index 177aafc1ec..1db258446a 100644
--- a/Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf
+++ b/Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf
@@ -12,51 +12,67 @@
 ##
 
 #
-# Debug Advanced Features
+# Debugging features
 #
 !if gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable == TRUE
   !include AcpiDebugFeaturePkg/Include/PreMemory.fdf
 !endif
 
+!if gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable == 
+TRUE
+  !include BeepDebugFeaturePkg/Include/PreMemory.fdf
+!endif
+
+!if 
+gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureEnable == 
+TRUE
+  !include PostCodeDebugFeaturePkg/Include/PreMemory.fdf
+!endif
+
 !if gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable == TRUE
   !include Usb3DebugFeaturePkg/Include/PreMemory.fdf
 !endif
 
 #
-# Network Advanced Features
+# Network features
 #
 !if gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable == TRUE
   !include NetworkFeaturePkg/Include/PreMemory.fdf
 !endif
 
 #
-# Out-of-Band Management Advanced Features
+# OutOfBandManagement features
 #
 !if gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable == TRUE
   !include IpmiFeaturePkg/Include/PreMemory.fdf
 !endif
 
+!if gSpcrFeaturePkgTokenSpaceGuid.PcdSpcrFeatureEnable == TRUE
+  !include SpcrFeaturePkg/Include/PreMemory.fdf
+!endif
+
 #
-# Power Management Advanced Features
+# PowerManagement features
 #
 !if gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable == TRUE
   !include S3FeaturePkg/Include/PreMemory.fdf
 !endif
 
 #
-# System Information Advanced Features
+# SystemInformation features
 #
 !if gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable == TRUE
   !include SmbiosFeaturePkg/Include/PreMemory.fdf
 !endif
 
 #
-# User Interface Advanced Features
+# UserInterface features
 #
-!if gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable == TRUE
-  !include UserAuthFeaturePkg/Include/PreMemory.fdf
-!endif
-
 !if gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable == TRUE
   !include LogoFeaturePkg/Include/PreMemory.fdf
 !endif
+
+!if 
+gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable == 
+TRUE
+  !include UserAuthFeaturePkg/Include/PreMemory.fdf
+!endif
+
+!if 
+gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEnabl
+e == TRUE
+  !include VirtualKeyboardFeaturePkg/Include/PreMemory.fdf
+!endif
diff --git a/Features/Intel/Readme.md b/Features/Intel/Readme.md index 1a03a4c0d2..cf5ef7b260 100644
--- a/Features/Intel/Readme.md
+++ b/Features/Intel/Readme.md
@@ -195,32 +195,47 @@ At a minimum, an advanced feature must consist of the following elements:
 6. Add the source code for the advanced feature.
     * If the feature is large it is recommended to add libraries in one patch and then modules in a following patch.
 
-7. Update the feature DSC file. This file is in `XxxFeaturePkg/Include/XxxFeature.dsc`.
+7. Update the feature DSC include file. This file is in `XxxFeaturePkg/Include/XxxFeature.dsc`.
     * In most cases, `XxxFeaturePkg/XxxFeaturePkg.dsc` should just `!include XxxFeaturePkg/Include/XxxFeature.dsc`.
+    * This file should not duplicate core content from `MinPlatformPkg/Include/Dsc` except where a change is required by
+    the feature.
 
-8. Update the feature FDF files. These files are `XxxFeaturePkg/Include/PreMemory.fdf` and
+8. Update the feature FDF include files. These files are 
+`XxxFeaturePkg/Include/PreMemory.fdf` and
    `XxxFeaturePkg/Include/PostMemory.fdf`.
     * Each file should contain the feature pre-memory modules and post-memory modules respectively.
 
 9. Build the advanced feature package to ensure the build is successful:
-
     From the workspace root:
-    1. cd edk2-platforms/edk2
-    2. Execute edksetup.bat (Windows) or edksetup.sh (Linux).
-    3. Verify the "WORKSPACE" environment variable is set to the edk2 directory in your workspace.
-    4. Set the "PACKAGES_PATH" environment variable to include the edk2-platforms/Platform/Intel, edk2-platforms/Silicon/Intel,
-       and edk2-platforms/Features/Intel directories.
+    1. Verify the "WORKSPACE" environment variable is set to the parent of edk2 and edk2-platforms directory in your
+       workspace.
+    2. Set the "PACKAGES_PATH" environment variable to include the edk2, edk2-platforms/Platform/Intel,
+       edk2-platforms/Silicon/Intel, and edk2-platforms/Features/Intel directories.
        * Windows example:
-         * set PACKAGES_PATH=c:\Edk2Workspace\edk2-platforms\Platform\Intel;
-                             c:\Edk2Workspace\edk2-platforms\Silicon\Intel;
-                             c:\Edk2Workspace\edk2-platforms\Features\Intel
+         * set PACKAGES_PATH=%WORKSPACE%\edk2;
+                             %WORKSPACE%\edk2-platforms\Platform\Intel;
+                             %WORKSPACE%\edk2-platforms\Silicon\Intel;
+                             %WORKSPACE%\edk2-platforms\Features\Intel;
+                             %WORKSPACE%\edk2-platforms\Features\Intel\Debugging;
+                             %WORKSPACE%\edk2-platforms\Features\Intel\Network;
+                             %WORKSPACE%\edk2-platforms\Features\Intel\OutOfBandManagement;
+                             %WORKSPACE%\edk2-platforms\Features\Intel\PowerManagement;
+                             %WORKSPACE%\edk2-platforms\Features\Intel\SystemInformation;
+                             
+ %WORKSPACE%\edk2-platforms\Features\Intel\UserInterface
        * Linux example:
-         * export PACKAGES_PATH=~/Edk2Workspace/edk2-platforms/Platform/Intel:
+         * export PACKAGES_PATH=~Edk2Workspace/edk2:
+                                ~/Edk2Workspace/edk2-platforms/Platform/Intel:
                                 ~/Edk2Workspace/edk2-platforms/Silicon/Intel:
-                                ~/Edk2Workspace/edk2-platforms/Features/Intel
+                                ~/Edk2Workspace/edk2-platforms/Features/Intel:
+                                ~/Edk2Workspace/edk2-platforms/Features/Intel/Debugging:
+                                ~/Edk2Workspace/edk2-platforms/Features/Intel/Network:
+                                ~/Edk2Workspace/edk2-platforms/Features/Intel/OutOfBandManagement:
+                                ~/Edk2Workspace/edk2-platforms/Features/Intel/PowerManagement:
+                                ~/Edk2Workspace/edk2-platforms/Features/Intel/SystemInformation:
+                                ~/Edk2Workspace/edk2-platforms/Features/Intel/UserInterface
+    3. cd edk2
+    4. Execute edksetup.bat (Windows) or edksetup.sh (Linux).
     5. cd edk2-platforms/Features/Intel
-    6. <pre>build -p FeatureDomainDirectory/XxxFeaturePkg/XxxFeaturePkg.dsc -a IA32 -a X64</pre>
-
+    6. <pre>build -a IA32 -a X64 -p 
+ FeatureDomainDirectory/XxxFeaturePkg/XxxFeaturePkg.dsc</pre>
        *Note:* -a specifies the architecture. Typically IA32 and X64 modules are built for 32-bit PEI and 64-bit
        DXE though build for your specific requirements.
 
@@ -228,11 +243,13 @@ At a minimum, an advanced feature must consist of the following elements:
     1. Add `XxxFeaturePkg/Include/XxxFeature.dsc` to `AdvancedFeatures.dsc`
     2. Add `XxxFeaturePkg/Include/PreMemory.fdf` to `AdvancedFeaturePkg/Include/PreMemory.fdf`
     3. Add `XxxFeaturePkg/Include/PostMemory.fdf` to `AdvancedFeaturePkg/Include/PostMemory.fdf`
+    4. Add the `PcdFeatureEnable` to `AdvancedFeaturesPcd.dsc` set to FALSE
+    5. Add the `PcdFeatureEnable` to `AdvancedFeaturePkg.dsc` set to 
+ TRUE
 
 11. Build `AdvancedFeaturePkg` to ensure the build is successful.
     1. Follow the steps in step #9 but change the build command to:
 
-    <pre>build -p AdvancedFeaturePkg/AdvancedFeaturePkg.dsc -a IA32 -a X64</pre>
+    <pre>build  -a IA32 -a X64 -p 
+ AdvancedFeaturePkg/AdvancedFeaturePkg.dsc</pre>
 
 12. Before sending your patch series, ensure the `Readme.md` file in `XxxFeaturePkg` is completed so others can use it
     during the feature review.
--
2.27.0.windows.1


^ permalink raw reply related	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 22/27] AdvancedFeaturePkg: Fix all relative package paths
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 22/27] AdvancedFeaturePkg: Fix all relative package paths Oram, Isaac W
  2022-01-13  2:50   ` Nate DeSimone
@ 2022-01-14  5:39   ` Chaganty, Rangasai V
  2022-01-19 19:17     ` Oram, Isaac W
  1 sibling, 1 reply; 86+ messages in thread
From: Chaganty, Rangasai V @ 2022-01-14  5:39 UTC (permalink / raw)
  To: Oram, Isaac W, devel@edk2.groups.io; +Cc: Gao, Liming

Reviewed-by: Sai Chaganty <rangasai.v.chaganty@intel.com>

-----Original Message-----
From: Oram, Isaac W <isaac.w.oram@intel.com> 
Sent: Tuesday, January 11, 2022 6:20 PM
To: devel@edk2.groups.io
Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
Subject: [edk2-devel][edk2-platforms][PATCH V1 22/27] AdvancedFeaturePkg: Fix all relative package paths

Packages should be at the root of a PACKAGES_PATH entry.
At some point, paths were relative to edk2-platforms/Features/Intel which was functional, but interferes with the proper functioning of packaging tools.

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc | 15 ++++++++-------
 Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf       | 15 ++++++++-------
 Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf        | 15 ++++++++-------
 3 files changed, 24 insertions(+), 21 deletions(-)

diff --git a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc
index ac9ab80e8e..874b8ce7db 100644
--- a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc
+++ b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc
@@ -14,45 +14,46 @@
 # Debug Advanced Features
 #
 !if gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable == TRUE
-  !include Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc
+  !include AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc
 !endif
+
 !if gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable == TRUE
-  !include Debugging/Usb3DebugFeaturePkg/Include/Usb3DebugFeature.dsc
+  !include Usb3DebugFeaturePkg/Include/Usb3DebugFeature.dsc
 !endif
 
 #
 # Network Advanced Features
 #
 !if gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable == TRUE
-  !include Network/NetworkFeaturePkg/Include/NetworkFeature.dsc
+  !include NetworkFeaturePkg/Include/NetworkFeature.dsc
 !endif
 
 #
 # Out-of-Band Management Advanced Features  #  !if gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable == TRUE
-  !include OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc
+  !include IpmiFeaturePkg/Include/IpmiFeature.dsc
 !endif
 
 #
 # Power Management Advanced Features
 #
 !if gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable == TRUE
-  !include PowerManagement/S3FeaturePkg/Include/S3Feature.dsc
+  !include S3FeaturePkg/Include/S3Feature.dsc
 !endif
 
 #
 # System Information Advanced Features
 #
 !if gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable == TRUE
-  !include SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.dsc
+  !include SmbiosFeaturePkg/Include/SmbiosFeature.dsc
 !endif
 
 #
 # User Interface Advanced Features
 #
 !if gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable == TRUE
-  !include UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc
+  !include UserAuthFeaturePkg/Include/UserAuthFeature.dsc
 !endif
 
 !if gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable == TRUE diff --git a/Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf b/Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf
index c49a0fd875..e710fe7f01 100644
--- a/Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf
+++ b/Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf
@@ -15,45 +15,46 @@
 # Debug Advanced Features
 #
 !if gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable == TRUE
-  !include Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf
+  !include AcpiDebugFeaturePkg/Include/PostMemory.fdf
 !endif
+
 !if gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable == TRUE
-  !include Debugging/Usb3DebugFeaturePkg/Include/PostMemory.fdf
+  !include Usb3DebugFeaturePkg/Include/PostMemory.fdf
 !endif
 
 #
 # Network Advanced Features
 #
 !if gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable == TRUE
-  !include Network/NetworkFeaturePkg/Include/PostMemory.fdf
+  !include NetworkFeaturePkg/Include/PostMemory.fdf
 !endif
 
 #
 # Out-of-Band Management Advanced Features  #  !if gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable == TRUE
-  !include OutOfBandManagement/IpmiFeaturePkg/Include/PostMemory.fdf
+  !include IpmiFeaturePkg/Include/PostMemory.fdf
 !endif
 
 #
 # Power Management Advanced Features
 #
 !if gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable == TRUE
-  !include PowerManagement/S3FeaturePkg/Include/PostMemory.fdf
+  !include S3FeaturePkg/Include/PostMemory.fdf
 !endif
 
 #
 # System Information Advanced Features
 #
 !if gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable == TRUE
-  !include SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf
+  !include SmbiosFeaturePkg/Include/PostMemory.fdf
 !endif
 
 #
 # User Interface Advanced Features
 #
 !if gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable == TRUE
-  !include UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf
+  !include UserAuthFeaturePkg/Include/PostMemory.fdf
 !endif
 
 !if gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable == TRUE diff --git a/Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf b/Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf
index 1b21e96a5f..177aafc1ec 100644
--- a/Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf
+++ b/Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf
@@ -15,45 +15,46 @@
 # Debug Advanced Features
 #
 !if gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable == TRUE
-  !include Debugging/AcpiDebugFeaturePkg/Include/PreMemory.fdf
+  !include AcpiDebugFeaturePkg/Include/PreMemory.fdf
 !endif
+
 !if gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable == TRUE
-  !include Debugging/Usb3DebugFeaturePkg/Include/PreMemory.fdf
+  !include Usb3DebugFeaturePkg/Include/PreMemory.fdf
 !endif
 
 #
 # Network Advanced Features
 #
 !if gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable == TRUE
-  !include Network/NetworkFeaturePkg/Include/PreMemory.fdf
+  !include NetworkFeaturePkg/Include/PreMemory.fdf
 !endif
 
 #
 # Out-of-Band Management Advanced Features  #  !if gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable == TRUE
-  !include OutOfBandManagement/IpmiFeaturePkg/Include/PreMemory.fdf
+  !include IpmiFeaturePkg/Include/PreMemory.fdf
 !endif
 
 #
 # Power Management Advanced Features
 #
 !if gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable == TRUE
-  !include PowerManagement/S3FeaturePkg/Include/PreMemory.fdf
+  !include S3FeaturePkg/Include/PreMemory.fdf
 !endif
 
 #
 # System Information Advanced Features
 #
 !if gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable == TRUE
-  !include SystemInformation/SmbiosFeaturePkg/Include/PreMemory.fdf
+  !include SmbiosFeaturePkg/Include/PreMemory.fdf
 !endif
 
 #
 # User Interface Advanced Features
 #
 !if gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable == TRUE
-  !include UserInterface/UserAuthFeaturePkg/Include/PreMemory.fdf
+  !include UserAuthFeaturePkg/Include/PreMemory.fdf
 !endif
 
 !if gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable == TRUE
--
2.27.0.windows.1


^ permalink raw reply related	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 15/27] NetworkFeaturePkg: Use MinPlatformPkg build include files
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 15/27] NetworkFeaturePkg: Use MinPlatformPkg build include files Oram, Isaac W
  2022-01-13  2:49   ` Nate DeSimone
@ 2022-01-14  5:57   ` Chaganty, Rangasai V
  2022-01-19  2:31     ` Oram, Isaac W
  1 sibling, 1 reply; 86+ messages in thread
From: Chaganty, Rangasai V @ 2022-01-14  5:57 UTC (permalink / raw)
  To: Oram, Isaac W, devel@edk2.groups.io; +Cc: Gao, Liming

Reviewed-by: Sai Chaganty <rangasai.v.chaganty@intel.com>

-----Original Message-----
From: Oram, Isaac W <isaac.w.oram@intel.com> 
Sent: Tuesday, January 11, 2022 6:20 PM
To: devel@edk2.groups.io
Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
Subject: [edk2-devel][edk2-platforms][PATCH V1 15/27] NetworkFeaturePkg: Use MinPlatformPkg build include files

Standalong build was not working due to missing libraries.
Leverage MinPlatformPkg common includes for core libraries.

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/Network/NetworkFeaturePkg/Include/NetworkFeature.dsc | 89 ++------------------
 Features/Intel/Network/NetworkFeaturePkg/NetworkFeaturePkg.dsc      | 18 ++++
 2 files changed, 24 insertions(+), 83 deletions(-)

diff --git a/Features/Intel/Network/NetworkFeaturePkg/Include/NetworkFeature.dsc b/Features/Intel/Network/NetworkFeaturePkg/Include/NetworkFeature.dsc
index bbc91ecbb1..ca151b4e33 100644
--- a/Features/Intel/Network/NetworkFeaturePkg/Include/NetworkFeature.dsc
+++ b/Features/Intel/Network/NetworkFeaturePkg/Include/NetworkFeature.dsc
@@ -18,12 +18,12 @@
 #
 ################################################################################
 [Defines]
-!ifndef $(PEI_ARCH)
-  !error "PEI_ARCH must be specified to build this feature!"
-!endif
-!ifndef $(DXE_ARCH)
-  !error "DXE_ARCH must be specified to build this feature!"
-!endif
+  !ifndef $(PEI_ARCH)
+    !error "PEI_ARCH must be specified to build this feature!"
+  !endif
+  !ifndef $(DXE_ARCH)
+    !error "DXE_ARCH must be specified to build this feature!"
+  !endif
 
   !include NetworkPkg/NetworkDefines.dsc.inc
 
@@ -41,56 +41,9 @@
 #
 ################################################################################
 
-!include MdePkg/MdeLibs.dsc.inc
-
 [LibraryClasses]
   !include NetworkPkg/NetworkLibs.dsc.inc
-
-  #######################################
-  # Edk2 Packages
-  #######################################
-  BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
-  FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
-  HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
-  IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
-  OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-  PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
-  PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
-  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
-  ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
-  SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
-  SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
-  TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
   TlsLib|CryptoPkg/Library/TlsLib/TlsLib.inf
-  UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
-  UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
-  UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
-  UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
-  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
-  UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
-
-[LibraryClasses.common.SEC,LibraryClasses.common.PEI_CORE,LibraryClasses.common.PEIM]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
-  MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
-  PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
-
-[LibraryClasses.common.DXE_CORE,LibraryClasses.common.DXE_SMM_DRIVER,LibraryClasses.common.SMM_CORE,LibraryClasses.common.DXE_DRIVER,LibraryClasses.common.DXE_RUNTIME_DRIVER,LibraryClasses.common.UEFI_DRIVER,LibraryClasses.common.UEFI_APPLICATION]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
-  DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
 
 ################################################################################
 #
@@ -106,21 +59,6 @@
 #       generated for it, but the binary will not be put into any firmware volume.
 #
 ################################################################################
-#
-# Feature PEI Components
-#
-
-# @todo: Change below line to [Components.$(PEI_ARCH)] after https://bugzilla.tianocore.org/show_bug.cgi?id=2308
-#        is completed.
-[Components.IA32]
-  #####################################
-  # Network Feature Package
-  #####################################
-
-  # Add library instances here that are not included in package components and should be tested
-  # in the package build.
-
-  # Add components here that should be included in the package build.
 
 #
 # Feature DXE Components
@@ -138,18 +76,3 @@
 
   # Add components here that should be included in the package build.
   !include NetworkPkg/NetworkComponents.dsc.inc
-
-###################################################################################################
-#
-# BuildOptions Section - Define the module specific tool chain flags that should be used as
-#                        the default flags for a module. These flags are appended to any
-#                        standard flags that are defined by the build process. They can be
-#                        applied for any modules or only those modules with the specific
-#                        module style (EDK or EDKII) specified in [Components] section.
-#
-#                        For advanced features, it is recommended to enable [BuildOptions] in
-#                        the applicable INF file so it does not affect the whole board package
-#                        build when this DSC file is active.
-#
-###################################################################################################
-[BuildOptions]
diff --git a/Features/Intel/Network/NetworkFeaturePkg/NetworkFeaturePkg.dsc b/Features/Intel/Network/NetworkFeaturePkg/NetworkFeaturePkg.dsc
index 199686fa09..cdc5dc851d 100644
--- a/Features/Intel/Network/NetworkFeaturePkg/NetworkFeaturePkg.dsc
+++ b/Features/Intel/Network/NetworkFeaturePkg/NetworkFeaturePkg.dsc
@@ -24,6 +24,24 @@
   PEI_ARCH                       = IA32
   DXE_ARCH                       = X64
 
+[Packages]
+  MinPlatformPkg/MinPlatformPkg.dec
+
+[PcdsFeatureFlag]
+  #
+  # PCD needed for MinPlatform build includes
+  #
+  gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable                |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable                   |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable                      |FALSE
+
+#
+# Include common libraries
+#
+!include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
+!include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
+!include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
+
 #
 # This package always builds the feature.
 #
-- 
2.27.0.windows.1


^ permalink raw reply related	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 24/27] MinPlatformPkg/Build: Add an include file for the common SPI FV info
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 24/27] MinPlatformPkg/Build: Add an include file for the common SPI FV info Oram, Isaac W
  2022-01-13  2:50   ` Nate DeSimone
@ 2022-01-14  6:02   ` Chaganty, Rangasai V
  2022-01-19 19:20     ` Oram, Isaac W
  1 sibling, 1 reply; 86+ messages in thread
From: Chaganty, Rangasai V @ 2022-01-14  6:02 UTC (permalink / raw)
  To: Oram, Isaac W, devel@edk2.groups.io
  Cc: Desimone, Nathaniel L, Gao, Liming, Dong, Eric

Reviewed-by: Sai Chaganty <rangasai.v.chaganty@intel.com>

-----Original Message-----
From: Oram, Isaac W <isaac.w.oram@intel.com> 
Sent: Tuesday, January 11, 2022 6:20 PM
To: devel@edk2.groups.io
Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Dong, Eric <eric.dong@intel.com>
Subject: [edk2-devel][edk2-platforms][PATCH V1 24/27] MinPlatformPkg/Build: Add an include file for the common SPI FV info

This include file allows for elimination of a lot of duplicate code and makes FDF files more readable.

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Eric Dong <eric.dong@intel.com>
Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Platform/Intel/MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf | 24 ++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/Platform/Intel/MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf b/Platform/Intel/MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
new file mode 100644
index 0000000000..fdda085a41
--- /dev/null
+++ b/Platform/Intel/MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fd
+++ f
@@ -0,0 +1,24 @@
+## @file CommonSpiFvHeaderInfo.fdf
+#
+# @copyright
+# Copyright (C) 2020 - 2021 Intel Corporation # # 
+SPDX-License-Identifier: BSD-2-Clause-Patent ##
+
+FvAlignment        = 16         #FV alignment and FV attributes setting.
+ERASE_POLARITY     = 1
+MEMORY_MAPPED      = TRUE
+STICKY_WRITE       = TRUE
+LOCK_CAP           = TRUE
+LOCK_STATUS        = TRUE
+WRITE_DISABLED_CAP = TRUE
+WRITE_ENABLED_CAP  = TRUE
+WRITE_STATUS       = TRUE
+WRITE_LOCK_CAP     = TRUE
+WRITE_LOCK_STATUS  = TRUE
+READ_DISABLED_CAP  = TRUE
+READ_ENABLED_CAP   = TRUE
+READ_STATUS        = TRUE
+READ_LOCK_CAP      = TRUE
+READ_LOCK_STATUS   = TRUE
--
2.27.0.windows.1


^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 21/27] TemplateFeaturePkg: Use MinPlatform build include files
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 21/27] TemplateFeaturePkg: " Oram, Isaac W
  2022-01-13  2:50   ` Nate DeSimone
@ 2022-01-14  6:05   ` Chaganty, Rangasai V
  2022-01-19 19:13     ` Oram, Isaac W
  1 sibling, 1 reply; 86+ messages in thread
From: Chaganty, Rangasai V @ 2022-01-14  6:05 UTC (permalink / raw)
  To: Oram, Isaac W, devel@edk2.groups.io; +Cc: Gao, Liming

Reviewed-by: Sai Chaganty <rangasai.v.chaganty@intel.com>

-----Original Message-----
From: Oram, Isaac W <isaac.w.oram@intel.com> 
Sent: Tuesday, January 11, 2022 6:20 PM
To: devel@edk2.groups.io
Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
Subject: [edk2-devel][edk2-platforms][PATCH V1 21/27] TemplateFeaturePkg: Use MinPlatform build include files

Extend the template to leverage common library build files.

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/TemplateFeaturePkg/Include/TemplateFeature.dsc |  2 +-
 Features/Intel/TemplateFeaturePkg/TemplateFeaturePkg.dsc      | 18 ++++++++++++++++++
 2 files changed, 19 insertions(+), 1 deletion(-)

diff --git a/Features/Intel/TemplateFeaturePkg/Include/TemplateFeature.dsc b/Features/Intel/TemplateFeaturePkg/Include/TemplateFeature.dsc
index 6742eddcf9..dd6d033aca 100644
--- a/Features/Intel/TemplateFeaturePkg/Include/TemplateFeature.dsc
+++ b/Features/Intel/TemplateFeaturePkg/Include/TemplateFeature.dsc
@@ -73,7 +73,7 @@
 #        is completed.
 [Components.IA32]
   #####################################
-  # <TEMPALTE> Feature Package
+  # <TEMPLATE> Feature Package
   #####################################
 
   # Add library instances here that are not included in package components and should be tested diff --git a/Features/Intel/TemplateFeaturePkg/TemplateFeaturePkg.dsc b/Features/Intel/TemplateFeaturePkg/TemplateFeaturePkg.dsc
index 0ce8debee0..03657047dc 100644
--- a/Features/Intel/TemplateFeaturePkg/TemplateFeaturePkg.dsc
+++ b/Features/Intel/TemplateFeaturePkg/TemplateFeaturePkg.dsc
@@ -24,6 +24,24 @@
   PEI_ARCH                       = IA32
   DXE_ARCH                       = X64
 
+[Packages]
+  MinPlatformPkg/MinPlatformPkg.dec
+
+[PcdsFeatureFlag]
+  #
+  # PCD needed for MinPlatform build includes
+  #
+  gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable                |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable                   |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable                      |FALSE
+
+#
+# Include common libraries
+#
+!include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
+!include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
+!include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
+
 #
 # This package always builds the feature.
 #
--
2.27.0.windows.1


^ permalink raw reply related	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 20/27] SpcrFeaturePkg: Use MinPlatform build include files
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 20/27] SpcrFeaturePkg: Use MinPlatform build include files Oram, Isaac W
  2022-01-13  2:50   ` Nate DeSimone
@ 2022-01-14  6:10   ` Chaganty, Rangasai V
  2022-01-19 19:09     ` Oram, Isaac W
  1 sibling, 1 reply; 86+ messages in thread
From: Chaganty, Rangasai V @ 2022-01-14  6:10 UTC (permalink / raw)
  To: Oram, Isaac W, devel@edk2.groups.io; +Cc: Gao, Liming

Reviewed-by: Sai Chaganty <rangasai.v.chaganty@intel.com>

-----Original Message-----
From: Oram, Isaac W <isaac.w.oram@intel.com> 
Sent: Tuesday, January 11, 2022 6:20 PM
To: devel@edk2.groups.io
Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
Subject: [edk2-devel][edk2-platforms][PATCH V1 20/27] SpcrFeaturePkg: Use MinPlatform build include files

Also added feature enable flag

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/Library/SpcrDeviceLib.h |  2 +-
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PostMemory.fdf          | 13 ++++
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PreMemory.fdf           | 11 ++++
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/SpcrFeature.dsc         | 62 --------------------
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Readme.md                       | 12 ++--
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dec              |  6 ++
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dsc              | 18 ++++++
 7 files changed, 55 insertions(+), 69 deletions(-)

diff --git a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/Library/SpcrDeviceLib.h b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/Library/SpcrDeviceLib.h
index 947813815e..2e50270ee6 100644
--- a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/Library/SpcrDeviceLib.h
+++ b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/Library/
+++ SpcrDeviceLib.h
@@ -12,7 +12,7 @@
 
 /**
   Get a Serial Port device used for SPCR.
-  The caller should call FreePool() to free the memory if return value is not NULL.
+  The caller should call FreePool () to free the memory if return value is not NULL.
 
   @retval NULL          Can not get device.
   @retval Others        A serial port device path.
diff --git a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PostMemory.fdf b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PostMemory.fdf
new file mode 100644
index 0000000000..f963f567c2
--- /dev/null
+++ b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PostMemo
+++ ry.fdf
@@ -0,0 +1,13 @@
+## @file
+#  FDF file for post-memory SpcrFeature advanced feature.
+#
+#  This file is intended to be included into another package so 
+advanced features #  can be conditionally included in the flash image 
+by enabling the respective #  feature via its FeaturePCD.
+#
+# Copyright (C) 2022 Intel Corporation.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent ##
+
+INF SpcrFeaturePkg/SpcrAcpiDxe/SpcrAcpiDxe.inf
diff --git a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PreMemory.fdf b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PreMemory.fdf
new file mode 100644
index 0000000000..3c461e7fbc
--- /dev/null
+++ b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PreMemor
+++ y.fdf
@@ -0,0 +1,11 @@
+## @file
+#  FDF file for pre-memory SpcrFeature advanced feature.
+#
+#  This file is intended to be included into another package so 
+advanced features #  can be conditionally included in the flash image 
+by enabling the respective #  feature via its FeaturePCD.
+#
+# Copyright (C) 2022 Intel Corporation.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent ##
diff --git a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/SpcrFeature.dsc b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/SpcrFeature.dsc
index c51e552df5..b06ddf4fe6 100644
--- a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/SpcrFeature.dsc
+++ b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/SpcrFeat
+++ ure.dsc
@@ -25,40 +25,9 @@
   !error "DXE_ARCH must be specified to build this feature!"
 !endif
 
-################################################################################
-#
-# Library Class section - list of all Library Classes needed by this feature.
-#
-################################################################################
-
-!include MdePkg/MdeLibs.dsc.inc
-
 [LibraryClasses]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-  UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
-  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
-  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-  UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
-  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
-  UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
-
-  #######################################
-  # SpcrFeaturePkg Packages
-  #######################################
   SpcrDeviceLib|SpcrFeaturePkg/Library/SpcrDeviceLibNull/SpcrDeviceLibNull.inf
 
-[LibraryClasses.common.DXE_DRIVER]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-
 ################################################################################
 #
 # Component section - list of all components that need built for this feature.
@@ -74,38 +43,7 @@
 #
 ################################################################################
 
-#
-# Feature DXE Components
-#
-
 # @todo: Change below line to [Components.$(DXE_ARCH)] after https://bugzilla.tianocore.org/show_bug.cgi?id=2308
 #        is completed.
 [Components.X64]
-  #####################################
-  # Spcr Feature Package
-  #####################################
-
-  # Add library instances here that are not included in package components and should be tested
-  # in the package build.
-
-  # Add components here that should be included in the package build.
   SpcrFeaturePkg/SpcrAcpiDxe/SpcrAcpiDxe.inf
-  #{
-#    <LibraryClasses>
-#      SpcrDeviceLib|SpcrFeaturePkg/Library/SpcrDeviceLibNull/SpcrDeviceLibNull.inf
-#  }
-
-###################################################################################################
-#
-# BuildOptions Section - Define the module specific tool chain flags that should be used as
-#                        the default flags for a module. These flags are appended to any
-#                        standard flags that are defined by the build process. They can be
-#                        applied for any modules or only those modules with the specific
-#                        module style (EDK or EDKII) specified in [Components] section.
-#
-#                        For advanced features, it is recommended to enable [BuildOptions] in
-#                        the applicable INF file so it does not affect the whole board package
-#                        build when this DSC file is active.
-#
-###################################################################################################
-[BuildOptions]
diff --git a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Readme.md b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Readme.md
index 0a5d48876d..66138ee0f6 100644
--- a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Readme.md
+++ b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Readme.md
@@ -22,10 +22,10 @@ Platform can implement its own library to select the serial port device.
 * SpcrDeviceLibNull
 
 ## SpcrAcpiDxe
-The main driver of convert the serial port device info to ACPI table.
-It will call the function GetSpcrDevice() in the library SpcrDeviceLib to get the serial port device path.
+The main driver of convert the serial port device info into an ACPI table.
+It will call the function GetSpcrDevice () in the library SpcrDeviceLib to get the serial port device path.
 If the serial port device path is not NULL, then use gEfiPciIoProtocolGuid to get the PCI info, and use the gEfiSerialIoProtocolGuid to get the serial port info, such as the baud rate etc.
-If the serial port device is PCI device 00:16:03 (AMT serial over lan PCI device), then will set the BaseAddress.
+If the serial port device is PCI device 00:16:03 (AMT serial over LAN PCI device), then will set the BaseAddress.
 At last fill the ACPI table as Windows required.
 
 ## SpcrDeviceLibNull
@@ -37,19 +37,19 @@ Fill the serial port device info used for SPCR to ACPI table.
 
 ## Configuration
 There is not special configuration.
-But the platform maybe implemente its own SpcrDeviceLib.
+But the platform may implement its own SpcrDeviceLib.
 
 ## Data Flows
 GetSpcrDevice() -> serial port device path -> get PCI info and serial port info -> ACPI table.
 
 ## Control Flows
-GetSpcrDevice() in SpcrDeviceLib -> SpcrAcpiDxe.
+GetSpcrDevice () in SpcrDeviceLib -> SpcrAcpiDxe.
 
 ## Build Flows
 There is not special build flow.
 
 ## Test Point Results
-* Check the output ACPI table.
+There are not test points implemented.
 
 ## Functional Exit Criteria
 * Check the output ACPI table.
diff --git a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dec b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dec
index 03776abf06..b084fad892 100644
--- a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dec
+++ b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.d
+++ ec
@@ -21,6 +21,12 @@
 [Includes]
   Include
 
+[Guids]
+  gSpcrFeaturePkgTokenSpaceGuid = { 0xe978c988, 0xeeba, 0x4671, { 0xb8, 
+0x0d, 0xcc, 0x8b, 0x89, 0xb5, 0xd1, 0xef }}
+
+[PcdsFeatureFlag]
+  
+gSpcrFeaturePkgTokenSpaceGuid.PcdSpcrFeatureEnable|FALSE|BOOLEAN|0x0000
+0001
+
 [LibraryClasses]
   ## @libraryclass  Provides an API for get SPCR device.
   #
diff --git a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dsc b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dsc
index 82d2d3ac73..2ee874a58e 100644
--- a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dsc
+++ b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.d
+++ sc
@@ -24,6 +24,24 @@
   PEI_ARCH                       = IA32
   DXE_ARCH                       = X64
 
+[Packages]
+  MinPlatformPkg/MinPlatformPkg.dec
+
+[PcdsFeatureFlag]
+  #
+  # PCD needed for MinPlatform build includes
+  #
+  gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable                |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable                   |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable                      |FALSE
+
+#
+# Include common libraries
+#
+!include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
+!include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
+!include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
+
 #
 # This package always builds the feature.
 #
--
2.27.0.windows.1


^ permalink raw reply related	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 03/27] AcpiDebugFeaturePkg: Fix all relative package paths
  2022-01-14  5:18   ` Chaganty, Rangasai V
@ 2022-01-18 22:59     ` Oram, Isaac W
  0 siblings, 0 replies; 86+ messages in thread
From: Oram, Isaac W @ 2022-01-18 22:59 UTC (permalink / raw)
  To: Chaganty, Rangasai V, devel@edk2.groups.io; +Cc: Gao, Liming, Dong, Eric

Pushed as 73d1067db3..d8232e8816

-----Original Message-----
From: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com> 
Sent: Thursday, January 13, 2022 9:18 PM
To: Oram, Isaac W <isaac.w.oram@intel.com>; devel@edk2.groups.io
Cc: Gao, Liming <gaoliming@byosoft.com.cn>; Dong, Eric <eric.dong@intel.com>
Subject: RE: [edk2-devel][edk2-platforms][PATCH V1 03/27] AcpiDebugFeaturePkg: Fix all relative package paths

Reviewed-by: Sai Chaganty <rangasai.v.chaganty@intel.com>

-----Original Message-----
From: Oram, Isaac W <isaac.w.oram@intel.com> 
Sent: Tuesday, January 11, 2022 6:20 PM
To: devel@edk2.groups.io
Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Dong, Eric <eric.dong@intel.com>
Subject: [edk2-devel][edk2-platforms][PATCH V1 03/27] AcpiDebugFeaturePkg: Fix all relative package paths

Packages should be at the root of a PACKAGES_PATH entry.
At some point, paths were relative to edk2-platforms/Features/Intel which was functional, but interferes with the proper functioning of packaging tools.

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Eric Dong <eric.dong@intel.com>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf | 2 +-  Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf | 2 +-
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec          | 2 +-
 Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc     | 4 ++--
 Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf           | 4 ++--
 5 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf
index b293d83cd9..04b5953bf6 100644
--- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf
+++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiD
+++ ebugDxe.inf
@@ -32,7 +32,7 @@
 [Packages]
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
-  Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
+  AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
 
 [Pcd]
   gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureActive  ## CONSUMES diff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf
index dbb33e4ae2..a0058b51ab 100644
--- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf
+++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiD
+++ ebugSmm.inf
@@ -33,7 +33,7 @@
 [Packages]
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
-  Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
+  AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
 
 [Pcd]
   gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureActive  ## CONSUMES diff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
index c3bd89fe2b..9159231007 100644
--- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
+++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.d
+++ ec
@@ -29,7 +29,7 @@
 [PcdsFeatureFlag]
   gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable|FALSE|BOOLEAN|0xA0000001
 
-[PcdsFixedAtBuild,PcdsPatchableInModule,PcdsDynamic,PcdsDynamicEx]
+[PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]
   ## This PCD specifies the ACPI debug message buffer size.
   gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugBufferSize|0x10000|UINT32|0xF0000001
 
diff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc
index 856222a53d..b142978be1 100644
--- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc
+++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeat
+++ ure.dsc
@@ -109,8 +109,8 @@
   # in the package build.
 
   # Add components here that should be included in the package build.
-  Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf
-  Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf
+  AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf
+  AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf
 
 ###################################################################################################
 #
diff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf
index bbd6eca87b..84560dae50 100644
--- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf
+++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fd
+++ f
@@ -7,5 +7,5 @@
 #
 ##
 
-  INF RuleOverride = DRIVER_ACPITABLE Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf
-  INF RuleOverride = DRIVER_ACPITABLE Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf
+  INF RuleOverride = DRIVER_ACPITABLE 
+ AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf
+  INF RuleOverride = DRIVER_ACPITABLE 
+ AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf
--
2.27.0.windows.1


^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 05/27] IpmiFeaturePkg: Fix build errors
  2022-01-13  2:48   ` Nate DeSimone
@ 2022-01-18 23:38     ` Oram, Isaac W
  0 siblings, 0 replies; 86+ messages in thread
From: Oram, Isaac W @ 2022-01-18 23:38 UTC (permalink / raw)
  To: Desimone, Nathaniel L, devel@edk2.groups.io; +Cc: Gao, Liming

Pushed as d8232e8816..025d67dccc

-----Original Message-----
From: Desimone, Nathaniel L <nathaniel.l.desimone@intel.com> 
Sent: Wednesday, January 12, 2022 6:49 PM
To: Oram, Isaac W <isaac.w.oram@intel.com>; devel@edk2.groups.io
Cc: Gao, Liming <gaoliming@byosoft.com.cn>
Subject: RE: [edk2-devel][edk2-platforms][PATCH V1 05/27] IpmiFeaturePkg: Fix build errors

Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>

> -----Original Message-----
> From: Oram, Isaac W <isaac.w.oram@intel.com>
> Sent: Tuesday, January 11, 2022 6:20 PM
> To: devel@edk2.groups.io
> Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Desimone, Nathaniel L 
> <nathaniel.l.desimone@intel.com>; Gao, Liming 
> <gaoliming@byosoft.com.cn>
> Subject: [edk2-devel][edk2-platforms][PATCH V1 05/27] IpmiFeaturePkg: 
> Fix build errors
> 
> Fix build issues with standalone build.
> Switch to using MinPlatformPkg common core include for common modules.
> 
> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> 
> Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
> ---
> 
> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeatu
> re.dsc | 54 --------------------
> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMem
> ory.fdf  | 16 +++---
> 
> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.ds
> c      | 18 +++++++
>  3 files changed, 26 insertions(+), 62 deletions(-)
> 
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFea
> ture.dsc
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFea
> ture.dsc
> index c1ce340da2..237a4fc006 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFea
> ture.dsc
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFea
> t
> +++ ure.dsc
> @@ -34,54 +34,15 @@
>  !include MdePkg/MdeLibs.dsc.inc
> 
>  [LibraryClasses]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
> -
> BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibR
> epStr.inf
> -  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
>    IpmiLib|MdeModulePkg/Library/BaseIpmiLibNull/BaseIpmiLibNull.inf
> -  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
> -
> TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTem
> plate.inf
> 
> -  #####################################
> -  # IPMI Feature Package
> -  #####################################
> 
> IpmiCommandLib|IpmiFeaturePkg/Library/IpmiCommandLib/IpmiCommand
> Lib.inf
> 
> IpmiPlatformHookLib|IpmiFeaturePkg/Library/IpmiPlatformHookLibNull/Ipm
> iPlatformHookLibNull.inf
> 
>  [LibraryClasses.common.PEI_CORE,LibraryClasses.common.PEIM]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -  HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
> -
> MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemory
> AllocationLib.inf
> -  PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
> -  PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
> -  PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
> -
> PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibId
> PeiServicesTablePointerLib|t/P
> eiServicesTablePointerLibIdt.inf
> -
> ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiR
> eportStatusCodeLib.inf
> -
> -  #####################################
> -  # IPMI Feature Package
> -  #####################################
>    
> IpmiBaseLib|IpmiFeaturePkg/Library/PeiIpmiBaseLib/PeiIpmiBaseLib.inf
> 
>  [LibraryClasses.common.DXE_DRIVER,LibraryClasses.common.UEFI_DRIVER]
> -  #######################################
> -  # Edk2 Packages
> -  #######################################
> -  
> DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
> -
> MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemo
> ryAllocationLib.inf
> -  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
> -
> UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiB
> UefiBootServicesTableLib|o
> otServicesTableLib.inf
> -
> UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEnt
> UefiDriverEntryPoint|ry
> Point.inf
> -  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
> -
> UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib
> /UefiRuntimeServicesTableLib.inf
> -
> -  #####################################
> -  # IPMI Feature Package
> -  #####################################
>    IpmiBaseLib|IpmiFeaturePkg/Library/IpmiBaseLib/IpmiBaseLib.inf
> 
> 
> ##########################################################
> ######################
> @@ -149,18 +110,3 @@
>    IpmiFeaturePkg/IpmiInit/DxeIpmiInit.inf
>    IpmiFeaturePkg/OsWdt/OsWdt.inf
>    IpmiFeaturePkg/SolStatus/SolStatus.inf
> -
> -
> ##########################################################
> #########################################
> -#
> -# BuildOptions Section - Define the module specific tool chain flags 
> that should be used as
> -#                        the default flags for a module. These flags are appended to any
> -#                        standard flags that are defined by the build process. They can
> be
> -#                        applied for any modules or only those modules with the
> specific
> -#                        module style (EDK or EDKII) specified in [Components] section.
> -#
> -#                        For advanced features, it is recommended to enable
> [BuildOptions] in
> -#                        the applicable INF file so it does not affect the whole board
> package
> -#                        build when this DSC file is active.
> -#
> -
> ##########################################################
> #########################################
> -[BuildOptions]
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMe
> mory.fdf
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMe
> mory.fdf
> index 158b5455d8..e0f3bbe158 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMe
> mory.fdf
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMe
> mo
> +++ ry.fdf
> @@ -7,11 +7,11 @@
>  #
>  ##
> 
> -  INF IpmiFeaturePkg/GenericIpmi/Dxe/GenericIpmi.inf
> -  INF IpmiFeaturePkg/IpmiInit/DxeIpmiInit.inf
> -  INF RuleOverride = DRIVER_ACPITABLE 
> IpmiFeaturePkg/BmcAcpi/BmcAcpi.inf
> -  INF IpmiFeaturePkg/BmcElog/BmcElog.inf
> -  INF IpmiFeaturePkg/Frb/FrbDxe.inf
> -  INF IpmiFeaturePkg/IpmiFru/IpmiFru.inf
> -  INF IpmiFeaturePkg/OsWdt/OsWdt.inf
> -  INF IpmiFeaturePkg/SolStatus/SolStatus.inf
> +INF IpmiFeaturePkg/GenericIpmi/Dxe/GenericIpmi.inf
> +INF IpmiFeaturePkg/IpmiInit/DxeIpmiInit.inf
> +INF RuleOverride = DRIVER_ACPITABLE
> IpmiFeaturePkg/BmcAcpi/BmcAcpi.inf
> +INF IpmiFeaturePkg/BmcElog/BmcElog.inf
> +INF IpmiFeaturePkg/Frb/FrbDxe.inf
> +INF IpmiFeaturePkg/IpmiFru/IpmiFru.inf
> +INF IpmiFeaturePkg/OsWdt/OsWdt.inf
> +INF IpmiFeaturePkg/SolStatus/SolStatus.inf
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.
> dsc
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.
> dsc
> index 6a3eed0882..c35e1e174e 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.
> dsc
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.
> d
> +++ sc
> @@ -25,6 +25,24 @@
>    PEI_ARCH                       = IA32
>    DXE_ARCH                       = X64
> 
> +[Packages]
> +  MinPlatformPkg/MinPlatformPkg.dec
> +
> +[PcdsFeatureFlag]
> +  #
> +  # PCD needed for MinPlatform build includes
> +  #
> +  gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable
> |FALSE
> +  gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable
> |FALSE
> +  gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable
> |FALSE
> +
> +#
> +# Include common libraries
> +#
> +!include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
> +!include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
> +!include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
> +
>  #
>  # This package always builds the feature.
>  #
> --
> 2.27.0.windows.1


^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 04/27] IpmiFeaturePkg: Fix all relative package paths
  2022-01-13  2:48   ` Nate DeSimone
@ 2022-01-19  0:02     ` Oram, Isaac W
  0 siblings, 0 replies; 86+ messages in thread
From: Oram, Isaac W @ 2022-01-19  0:02 UTC (permalink / raw)
  To: Desimone, Nathaniel L, devel@edk2.groups.io; +Cc: Gao, Liming

Pushed as 025d67dccc..af5a7863ff

-----Original Message-----
From: Desimone, Nathaniel L <nathaniel.l.desimone@intel.com> 
Sent: Wednesday, January 12, 2022 6:49 PM
To: Oram, Isaac W <isaac.w.oram@intel.com>; devel@edk2.groups.io
Cc: Gao, Liming <gaoliming@byosoft.com.cn>
Subject: RE: [edk2-devel][edk2-platforms][PATCH V1 04/27] IpmiFeaturePkg: Fix all relative package paths

Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>

> -----Original Message-----
> From: Oram, Isaac W <isaac.w.oram@intel.com>
> Sent: Tuesday, January 11, 2022 6:20 PM
> To: devel@edk2.groups.io
> Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Gao, Liming 
> <gaoliming@byosoft.com.cn>; Desimone, Nathaniel L 
> <nathaniel.l.desimone@intel.com>
> Subject: [edk2-devel][edk2-platforms][PATCH V1 04/27] IpmiFeaturePkg: 
> Fix all relative package paths
> 
> Packages should be at the root of a PACKAGES_PATH entry.
> At some point, paths were relative to edk2-platforms/Features/Intel 
> which was functional, but interferes with the proper functioning of packaging tools.
> 
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
> 
> Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
> ---
> 
> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcAcpi/BmcAcpi.
> inf                                         |  2 +-
> 
> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/BmcElog.i
> nf                                         |  2 +-
>  Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbDxe.inf
> |  2 +-
>  Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbPei.inf
> |  2 +-
> 
> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dxe/
> GenericIpmi.inf                             |  2 +-
> 
> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Pei/P
> eiGenericIpmi.inf                          |  2 +-
> 
> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Smm
> /SmmGenericIpmi.inf                          |  2 +-
> 
> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeatu
> re.dsc                                     | 36 ++++++++++----------
> 
> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMem
> ory.fdf                                      | 16 ++++-----
> 
> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PreMemo
> ry.fdf                                       |  6 ++--
> 
> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFru/IpmiFru.in
> f                                         |  2 +-
> 
> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/DxeIpmiI
> nit.inf                                    |  2 +-
> 
> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/PeiIpmiIni
> t.inf                                    |  2 +-
> 
> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBaseLi
> b/IpmiBaseLib.inf                         |  2 +-
> 
> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBaseLi
> bNull/IpmiBaseLibNull.inf                 |  2 +-
> 
> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiComm
> andLib/IpmiCommandLib.inf                   |  2 +-
> 
> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiPlatfor
> mHookLibNull/IpmiPlatformHookLibNull.inf |  2 +-
> 
> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/PeiIpmiBas
> eLib/PeiIpmiBaseLib.inf                   |  2 +-
> 
> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/SmmIpmiB
> aseLib/SmmIpmiBaseLib.inf                   |  2 +-
>  Features/Intel/OutOfBandManagement/IpmiFeaturePkg/OsWdt/OsWdt.inf
> |  2 +-
> 
> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/SolStatus/SolStatu
> s.inf                                     |  2 +-
>  21 files changed, 47 insertions(+), 47 deletions(-)
> 
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcAcpi/BmcAc
> pi.inf
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcAcpi/BmcAc
> pi.inf
> index a84813f55c..7cd60e417b 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcAcpi/BmcAc
> pi.inf
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcAcpi/BmcAc
> pi.
> +++ inf
> @@ -22,7 +22,7 @@
>  [Packages]
>    MdePkg/MdePkg.dec
>    MdeModulePkg/MdeModulePkg.dec
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
> +  IpmiFeaturePkg/IpmiFeaturePkg.dec
> 
>  [LibraryClasses]
>    UefiBootServicesTableLib
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/BmcElo
> g.inf
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/BmcElo
> g.inf
> index 665b3d9bda..388dd2740c 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/BmcElo
> g.inf
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/BmcElo
> g.
> +++ inf
> @@ -21,7 +21,7 @@
> 
>  [Packages]
>    MdePkg/MdePkg.dec
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
> +  IpmiFeaturePkg/IpmiFeaturePkg.dec
> 
>  [LibraryClasses]
>    UefiDriverEntryPoint
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbDxe.inf
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbDxe.inf
> index 85836cd8ee..61222e0c00 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbDxe.inf
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbDxe.inf
> @@ -21,7 +21,7 @@
>  [Packages]
>    MdePkg/MdePkg.dec
>    MdeModulePkg/MdeModulePkg.dec
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
> +  IpmiFeaturePkg/IpmiFeaturePkg.dec
> 
>  [LibraryClasses]
>    UefiBootServicesTableLib
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbPei.inf
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbPei.inf
> index 7ad00ae574..797dbe6a07 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbPei.inf
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbPei.inf
> @@ -20,7 +20,7 @@
> 
>  [Packages]
>    MdePkg/MdePkg.dec
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
> +  IpmiFeaturePkg/IpmiFeaturePkg.dec
> 
>  [LibraryClasses]
>    PeimEntryPoint
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dx
> e/GenericIpmi.inf
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dx
> e/GenericIpmi.inf
> index 9881f9e3d0..8d80aeb6b5 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dx
> e/GenericIpmi.inf
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dx
> e/
> +++ GenericIpmi.inf
> @@ -36,7 +36,7 @@
> 
>  [Packages]
>    MdePkg/MdePkg.dec
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
> +  IpmiFeaturePkg/IpmiFeaturePkg.dec
> 
>  [LibraryClasses]
>    MemoryAllocationLib
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Pei
> /PeiGenericIpmi.inf
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Pei
> /PeiGenericIpmi.inf
> index 883a9168e5..a646161ce1 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Pei
> /PeiGenericIpmi.inf
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Pei
> /
> +++ PeiGenericIpmi.inf
> @@ -33,7 +33,7 @@
> 
>  [Packages]
>    MdePkg/MdePkg.dec
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
> +  IpmiFeaturePkg/IpmiFeaturePkg.dec
> 
>  [LibraryClasses]
>    PeimEntryPoint
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Sm
> m/SmmGenericIpmi.inf
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Sm
> m/SmmGenericIpmi.inf
> index a534f7dac8..f430195d1e 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Sm
> m/SmmGenericIpmi.inf
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Sm
> m/
> +++ SmmGenericIpmi.inf
> @@ -27,7 +27,7 @@
> 
>  [Packages]
>    MdePkg/MdePkg.dec
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
> +  IpmiFeaturePkg/IpmiFeaturePkg.dec
> 
>  [LibraryClasses]
>    MemoryAllocationLib
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFea
> ture.dsc
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFea
> ture.dsc
> index a6eccb428b..c1ce340da2 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFea
> ture.dsc
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFea
> t
> +++ ure.dsc
> @@ -47,8 +47,8 @@
>    #####################################
>    # IPMI Feature Package
>    #####################################
> -
> IpmiCommandLib|OutOfBandManagement/IpmiFeaturePkg/Library/IpmiCo
> mmandLib/IpmiCommandLib.inf
> -
> IpmiPlatformHookLib|OutOfBandManagement/IpmiFeaturePkg/Library/Ipm
> iPlatformHookLibNull/IpmiPlatformHookLibNull.inf
> +
> +
> IpmiCommandLib|IpmiFeaturePkg/Library/IpmiCommandLib/IpmiCommand
> Lib.in
> + f
> +
> IpmiPlatformHookLib|IpmiFeaturePkg/Library/IpmiPlatformHookLibNull/Ipm
> + iPlatformHookLibNull.inf
> 
>  [LibraryClasses.common.PEI_CORE,LibraryClasses.common.PEIM]
>    #######################################
> @@ -65,7 +65,7 @@
>    #####################################
>    # IPMI Feature Package
>    #####################################
> -
> IpmiBaseLib|OutOfBandManagement/IpmiFeaturePkg/Library/PeiIpmiBaseL
> ib/PeiIpmiBaseLib.inf
> +  
> + IpmiBaseLib|IpmiFeaturePkg/Library/PeiIpmiBaseLib/PeiIpmiBaseLib.inf
> 
>  [LibraryClasses.common.DXE_DRIVER,LibraryClasses.common.UEFI_DRIVER]
>    #######################################
> @@ -82,7 +82,7 @@
>    #####################################
>    # IPMI Feature Package
>    #####################################
> -
> IpmiBaseLib|OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBaseLib/
> IpmiBaseLib.inf
> +  IpmiBaseLib|IpmiFeaturePkg/Library/IpmiBaseLib/IpmiBaseLib.inf
> 
> 
> ##########################################################
> ######################
>  #
> @@ -112,14 +112,14 @@
>    # Add library instances here that are not included in package 
> components and should be tested
>    # in the package build.
> 
> -
> OutOfBandManagement/IpmiFeaturePkg/Library/IpmiPlatformHookLibNull/
> IpmiPlatformHookLibNull.inf
> +
> +
> IpmiFeaturePkg/Library/IpmiPlatformHookLibNull/IpmiPlatformHookLibNull
> + .inf
> 
>    #
>    # Add components here that should be included in the package build.
>    #
> -
> OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Pei/PeiGenericIpmi.i
> nf
> -  OutOfBandManagement/IpmiFeaturePkg/Frb/FrbPei.inf
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiInit/PeiIpmiInit.inf
> +  IpmiFeaturePkg/GenericIpmi/Pei/PeiGenericIpmi.inf
> +  IpmiFeaturePkg/Frb/FrbPei.inf
> +  IpmiFeaturePkg/IpmiInit/PeiIpmiInit.inf
> 
>  #
>  # Feature DXE Components
> @@ -135,20 +135,20 @@
>    # Add library instances here that are not included in package 
> components and should be tested
>    # in the package build.
> 
> -
> OutOfBandManagement/IpmiFeaturePkg/Library/IpmiPlatformHookLibNull/
> IpmiPlatformHookLibNull.inf
> +
> +
> IpmiFeaturePkg/Library/IpmiPlatformHookLibNull/IpmiPlatformHookLibNull
> + .inf
> 
>    #
>    # Add components here that should be included in the package build.
>    #
> -
> OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dxe/GenericIpmi.inf
> -
> OutOfBandManagement/IpmiFeaturePkg/Library/SmmIpmiBaseLib/SmmIp
> miBaseLib.inf
> -  OutOfBandManagement/IpmiFeaturePkg/BmcAcpi/BmcAcpi.inf
> -  OutOfBandManagement/IpmiFeaturePkg/BmcElog/BmcElog.inf
> -  OutOfBandManagement/IpmiFeaturePkg/Frb/FrbDxe.inf
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiFru/IpmiFru.inf
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiInit/DxeIpmiInit.inf
> -  OutOfBandManagement/IpmiFeaturePkg/OsWdt/OsWdt.inf
> -  OutOfBandManagement/IpmiFeaturePkg/SolStatus/SolStatus.inf
> +  IpmiFeaturePkg/GenericIpmi/Dxe/GenericIpmi.inf
> +  IpmiFeaturePkg/Library/SmmIpmiBaseLib/SmmIpmiBaseLib.inf
> +  IpmiFeaturePkg/BmcAcpi/BmcAcpi.inf
> +  IpmiFeaturePkg/BmcElog/BmcElog.inf
> +  IpmiFeaturePkg/Frb/FrbDxe.inf
> +  IpmiFeaturePkg/IpmiFru/IpmiFru.inf
> +  IpmiFeaturePkg/IpmiInit/DxeIpmiInit.inf
> +  IpmiFeaturePkg/OsWdt/OsWdt.inf
> +  IpmiFeaturePkg/SolStatus/SolStatus.inf
> 
> 
> ##########################################################
> #########################################
>  #
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMe
> mory.fdf
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMe
> mory.fdf
> index cbd9453cf0..158b5455d8 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMe
> mory.fdf
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMe
> mo
> +++ ry.fdf
> @@ -7,11 +7,11 @@
>  #
>  ##
> 
> -  INF
> OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dxe/GenericIpmi.inf
> -  INF OutOfBandManagement/IpmiFeaturePkg/IpmiInit/DxeIpmiInit.inf
> -  INF RuleOverride = DRIVER_ACPITABLE 
> OutOfBandManagement/IpmiFeaturePkg/BmcAcpi/BmcAcpi.inf
> -  INF OutOfBandManagement/IpmiFeaturePkg/BmcElog/BmcElog.inf
> -  INF OutOfBandManagement/IpmiFeaturePkg/Frb/FrbDxe.inf
> -  INF OutOfBandManagement/IpmiFeaturePkg/IpmiFru/IpmiFru.inf
> -  INF OutOfBandManagement/IpmiFeaturePkg/OsWdt/OsWdt.inf
> -  INF OutOfBandManagement/IpmiFeaturePkg/SolStatus/SolStatus.inf
> +  INF IpmiFeaturePkg/GenericIpmi/Dxe/GenericIpmi.inf
> +  INF IpmiFeaturePkg/IpmiInit/DxeIpmiInit.inf
> +  INF RuleOverride = DRIVER_ACPITABLE 
> + IpmiFeaturePkg/BmcAcpi/BmcAcpi.inf
> +  INF IpmiFeaturePkg/BmcElog/BmcElog.inf
> +  INF IpmiFeaturePkg/Frb/FrbDxe.inf
> +  INF IpmiFeaturePkg/IpmiFru/IpmiFru.inf
> +  INF IpmiFeaturePkg/OsWdt/OsWdt.inf
> +  INF IpmiFeaturePkg/SolStatus/SolStatus.inf
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PreMe
> mory.fdf
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PreMe
> mory.fdf
> index 826490952b..d214988bd1 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PreMe
> mory.fdf
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PreMe
> mor
> +++ y.fdf
> @@ -7,6 +7,6 @@
>  #
>  ##
> 
> -INF
> OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Pei/PeiGenericIpmi.i
> nf
> -INF OutOfBandManagement/IpmiFeaturePkg/IpmiInit/PeiIpmiInit.inf
> -INF OutOfBandManagement/IpmiFeaturePkg/Frb/FrbPei.inf
> +INF IpmiFeaturePkg/GenericIpmi/Pei/PeiGenericIpmi.inf
> +INF IpmiFeaturePkg/IpmiInit/PeiIpmiInit.inf
> +INF IpmiFeaturePkg/Frb/FrbPei.inf
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFru/IpmiFru
> .inf
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFru/IpmiFru
> .inf
> index 0778b221c1..322f061a0f 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFru/IpmiFru
> .inf
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFru/IpmiFru
> .
> +++ inf
> @@ -21,7 +21,7 @@
> 
>  [Packages]
>    MdePkg/MdePkg.dec
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
> +  IpmiFeaturePkg/IpmiFeaturePkg.dec
> 
>  [LibraryClasses]
>    UefiDriverEntryPoint
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/DxeIpm
> iInit.inf
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/DxeIpm
> iInit.inf
> index 831bfb0b5e..8236fe4842 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/DxeIpm
> iInit.inf
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/DxeIpm
> i
> +++ Init.inf
> @@ -21,7 +21,7 @@
>  [Packages]
>    MdePkg/MdePkg.dec
>    MdeModulePkg/MdeModulePkg.dec
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
> +  IpmiFeaturePkg/IpmiFeaturePkg.dec
> 
>  [LibraryClasses]
>    UefiBootServicesTableLib
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/PeiIpmi
> Init.inf
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/PeiIpmi
> Init.inf
> index 607a185eb6..3fb31c729a 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/PeiIpmi
> Init.inf
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/PeiIpmi
> +++ Init.inf
> @@ -21,7 +21,7 @@
>  [Packages]
>    MdePkg/MdePkg.dec
>    MdeModulePkg/MdeModulePkg.dec
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
> +  IpmiFeaturePkg/IpmiFeaturePkg.dec
> 
>  [LibraryClasses]
>    PeimEntryPoint
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBas
> eLib/IpmiBaseLib.inf
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBas
> eLib/IpmiBaseLib.inf
> index 86df943560..72ca3495fb 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBas
> eLib/IpmiBaseLib.inf
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBas
> e
> +++ Lib/IpmiBaseLib.inf
> @@ -18,7 +18,7 @@
> 
>  [Packages]
>    MdePkg/MdePkg.dec
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
> +  IpmiFeaturePkg/IpmiFeaturePkg.dec
> 
>  [LibraryClasses]
>    UefiBootServicesTableLib
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBas
> eLibNull/IpmiBaseLibNull.inf
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBas
> eLibNull/IpmiBaseLibNull.inf
> index 5478f9842b..52f8863032 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBas
> eLibNull/IpmiBaseLibNull.inf
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBas
> e
> +++ LibNull/IpmiBaseLibNull.inf
> @@ -24,7 +24,7 @@
> 
>  [Packages]
>    MdePkg/MdePkg.dec
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
> +  IpmiFeaturePkg/IpmiFeaturePkg.dec
> 
>  [LibraryClasses]
>    BaseLib
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiCom
> mandLib/IpmiCommandLib.inf
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiCo
> mmandLib/IpmiCommandLib.inf
> index f8e7ba5a8f..d5c14ff2a4 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiCom
> mandLib/IpmiCommandLib.inf
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiCo
> mm
> +++ andLib/IpmiCommandLib.inf
> @@ -24,7 +24,7 @@
>  [Packages]
>    MdePkg/MdePkg.dec
>    MdeModulePkg/MdeModulePkg.dec
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
> +  IpmiFeaturePkg/IpmiFeaturePkg.dec
> 
>  [LibraryClasses]
>    BaseMemoryLib
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiPlatf
> ormHookLibNull/IpmiPlatformHookLibNull.inf
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiPlat
> formHookLibNull/IpmiPlatformHookLibNull.inf
> index ab270079aa..8e472ebdad 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiPlatf
> ormHookLibNull/IpmiPlatformHookLibNull.inf
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiPlat
> +++ formHookLibNull/IpmiPlatformHookLibNull.inf
> @@ -20,7 +20,7 @@
> 
>  [Packages]
>    MdePkg/MdePkg.dec
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
> +  IpmiFeaturePkg/IpmiFeaturePkg.dec
> 
>  [LibraryClasses]
>    DebugLib
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/PeiIpmiB
> aseLib/PeiIpmiBaseLib.inf
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/PeiIpmiB
> aseLib/PeiIpmiBaseLib.inf
> index 9a2c87873f..234492db65 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/PeiIpmiB
> aseLib/PeiIpmiBaseLib.inf
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/PeiIpmiB
> +++ aseLib/PeiIpmiBaseLib.inf
> @@ -18,7 +18,7 @@
> 
>  [Packages]
>    MdePkg/MdePkg.dec
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
> +  IpmiFeaturePkg/IpmiFeaturePkg.dec
> 
>  [LibraryClasses]
>    DebugLib
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/SmmIpm
> iBaseLib/SmmIpmiBaseLib.inf
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/SmmIp
> miBaseLib/SmmIpmiBaseLib.inf
> index bb1ccf1ca2..7ea688fc16 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/SmmIpm
> iBaseLib/SmmIpmiBaseLib.inf
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/SmmIp
> miB
> +++ aseLib/SmmIpmiBaseLib.inf
> @@ -18,7 +18,7 @@
> 
>  [Packages]
>    MdePkg/MdePkg.dec
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
> +  IpmiFeaturePkg/IpmiFeaturePkg.dec
> 
>  [LibraryClasses]
>    UefiBootServicesTableLib
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/OsWdt/OsWdt.i
> nf
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/OsWdt/OsWdt.i
> nf
> index 7e7d2826cb..3fd1078271 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/OsWdt/OsWdt.i
> nf
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/OsWdt/OsWdt.i
> nf
> @@ -20,7 +20,7 @@
> 
>  [Packages]
>    MdePkg/MdePkg.dec
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
> +  IpmiFeaturePkg/IpmiFeaturePkg.dec
> 
>  [LibraryClasses]
>    UefiDriverEntryPoint
> diff --git
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/SolStatus/SolSta
> tus.inf
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/SolStatus/SolSta
> tus.inf
> index 826144e537..9019b849ac 100644
> ---
> a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/SolStatus/SolSta
> tus.inf
> +++
> b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/SolStatus/SolSta
> +++ tus.inf
> @@ -21,7 +21,7 @@
> 
>  [Packages]
>    MdePkg/MdePkg.dec
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
> +  IpmiFeaturePkg/IpmiFeaturePkg.dec
> 
>  [Pcd]
>    gIpmiFeaturePkgTokenSpaceGuid.PcdMaxSOLChannels
> --
> 2.27.0.windows.1


^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 06/27] S3FeaturePkg: Fix all relative package paths
  2022-01-14  5:19   ` Chaganty, Rangasai V
@ 2022-01-19  1:11     ` Oram, Isaac W
  0 siblings, 0 replies; 86+ messages in thread
From: Oram, Isaac W @ 2022-01-19  1:11 UTC (permalink / raw)
  To: Chaganty, Rangasai V, devel@edk2.groups.io; +Cc: Gao, Liming

Pushed as af5a7863ff..a16d6344dc

-----Original Message-----
From: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com> 
Sent: Thursday, January 13, 2022 9:20 PM
To: Oram, Isaac W <isaac.w.oram@intel.com>; devel@edk2.groups.io
Cc: Gao, Liming <gaoliming@byosoft.com.cn>
Subject: RE: [edk2-devel][edk2-platforms][PATCH V1 06/27] S3FeaturePkg: Fix all relative package paths

Reviewed-by: Sai Chaganty <rangasai.v.chaganty@intel.com>

-----Original Message-----
From: Oram, Isaac W <isaac.w.oram@intel.com> 
Sent: Tuesday, January 11, 2022 6:20 PM
To: devel@edk2.groups.io
Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
Subject: [edk2-devel][edk2-platforms][PATCH V1 06/27] S3FeaturePkg: Fix all relative package paths

Packages should be at the root of a PACKAGES_PATH entry.
At some point, paths were relative to edk2-platforms/Features/Intel which was functional, but interferes with the proper functioning of packaging tools.

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf | 2 +-  Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc | 2 +-
 Features/Intel/PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf       | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf b/Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf
index 3cd5cd9628..34caf3dacc 100644
--- a/Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf
+++ b/Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf
@@ -7,4 +7,4 @@
 #
 ##
 
-  INF PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf
+  INF S3FeaturePkg/S3Pei/S3Pei.inf
diff --git a/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc b/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc
index 312870981e..f94bd2b431 100644
--- a/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc
+++ b/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc
@@ -91,7 +91,7 @@
   # in the package build.
 
   # Add components here that should be included in the package build.
-  PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf
+  S3FeaturePkg/S3Pei/S3Pei.inf
 
 #
 # Feature DXE Components
diff --git a/Features/Intel/PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf b/Features/Intel/PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf
index 46fbb62a46..e485eac952 100644
--- a/Features/Intel/PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf
+++ b/Features/Intel/PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf
@@ -23,7 +23,7 @@
 [Packages]
   MdePkg/MdePkg.dec
   IntelSiliconPkg/IntelSiliconPkg.dec
-  PowerManagement/S3FeaturePkg/S3FeaturePkg.dec
+  S3FeaturePkg/S3FeaturePkg.dec
 
 [Sources]
   S3Pei.c
--
2.27.0.windows.1


^ permalink raw reply related	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 07/27] S3FeaturePkg: Use MinPlatformPkg build include files
  2022-01-14  5:29   ` Chaganty, Rangasai V
@ 2022-01-19  1:26     ` Oram, Isaac W
  0 siblings, 0 replies; 86+ messages in thread
From: Oram, Isaac W @ 2022-01-19  1:26 UTC (permalink / raw)
  To: Chaganty, Rangasai V, devel@edk2.groups.io; +Cc: Gao, Liming

Pushed as a16d6344dc..d1864efa5b

-----Original Message-----
From: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com> 
Sent: Thursday, January 13, 2022 9:30 PM
To: Oram, Isaac W <isaac.w.oram@intel.com>; devel@edk2.groups.io
Cc: Gao, Liming <gaoliming@byosoft.com.cn>
Subject: RE: [edk2-devel][edk2-platforms][PATCH V1 07/27] S3FeaturePkg: Use MinPlatformPkg build include files

Reviewed-by: Sai Chaganty <rangasai.v.chaganty@intel.com>

-----Original Message-----
From: Oram, Isaac W <isaac.w.oram@intel.com> 
Sent: Tuesday, January 11, 2022 6:20 PM
To: devel@edk2.groups.io
Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
Subject: [edk2-devel][edk2-platforms][PATCH V1 07/27] S3FeaturePkg: Use MinPlatformPkg build include files

Use the MinPlatformPkg common core build files to build libraries needed by this feature.

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf |  2 +-  Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc | 72 ++------------------
 Features/Intel/PowerManagement/S3FeaturePkg/S3FeaturePkg.dsc      | 18 +++++
 3 files changed, 26 insertions(+), 66 deletions(-)

diff --git a/Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf b/Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf
index 34caf3dacc..fdd16a4e03 100644
--- a/Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf
+++ b/Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf
@@ -7,4 +7,4 @@
 #
 ##
 
-  INF S3FeaturePkg/S3Pei/S3Pei.inf
+INF S3FeaturePkg/S3Pei/S3Pei.inf
diff --git a/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc b/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc
index f94bd2b431..cc34e78507 100644
--- a/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc
+++ b/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc
@@ -18,12 +18,12 @@
 #
 ################################################################################
 [Defines]
-!ifndef $(PEI_ARCH)
-  !error "PEI_ARCH must be specified to build this feature!"
-!endif
-!ifndef $(DXE_ARCH)
-  !error "DXE_ARCH must be specified to build this feature!"
-!endif
+  !ifndef $(PEI_ARCH)
+    !error "PEI_ARCH must be specified to build this feature!"
+  !endif
+  !ifndef $(DXE_ARCH)
+    !error "DXE_ARCH must be specified to build this feature!"
+  !endif
 
 ################################################################################
 #
@@ -31,34 +31,7 @@
 #
 ################################################################################
 
-!include MdePkg/MdeLibs.dsc.inc
-
-[LibraryClasses]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
-  PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf
-  PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
-  PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf
-
-[LibraryClasses.common.PEI_CORE,LibraryClasses.common.PEIM]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
-  MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
-  PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
-  PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
-  PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
-  PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
-
-  #######################################
-  # Silicon Initialization Package
-  #######################################
+[LibraryClasses.common.PEIM]
   SmmAccessLib|IntelSiliconPkg/Feature/SmmAccess/Library/PeiSmmAccessLib/PeiSmmAccessLib.inf
 
 ################################################################################
@@ -92,34 +65,3 @@
 
   # Add components here that should be included in the package build.
   S3FeaturePkg/S3Pei/S3Pei.inf
-
-#
-# Feature DXE Components
-#
-
-# @todo: Change below line to [Components.$(DXE_ARCH)] after https://bugzilla.tianocore.org/show_bug.cgi?id=2308
-#        is completed.
-[Components.X64]
-  #####################################
-  # S3 Feature Package
-  #####################################
-
-  # Add library instances here that are not included in package components and should be tested
-  # in the package build.
-
-  # Add components here that should be included in the package build.
-
-###################################################################################################
-#
-# BuildOptions Section - Define the module specific tool chain flags that should be used as
-#                        the default flags for a module. These flags are appended to any
-#                        standard flags that are defined by the build process. They can be
-#                        applied for any modules or only those modules with the specific
-#                        module style (EDK or EDKII) specified in [Components] section.
-#
-#                        For advanced features, it is recommended to enable [BuildOptions] in
-#                        the applicable INF file so it does not affect the whole board package
-#                        build when this DSC file is active.
-#
-###################################################################################################
-[BuildOptions]
diff --git a/Features/Intel/PowerManagement/S3FeaturePkg/S3FeaturePkg.dsc b/Features/Intel/PowerManagement/S3FeaturePkg/S3FeaturePkg.dsc
index 28ee49d429..e16a1f8d00 100644
--- a/Features/Intel/PowerManagement/S3FeaturePkg/S3FeaturePkg.dsc
+++ b/Features/Intel/PowerManagement/S3FeaturePkg/S3FeaturePkg.dsc
@@ -24,6 +24,24 @@
   PEI_ARCH                       = IA32
   DXE_ARCH                       = X64
 
+[Packages]
+  MinPlatformPkg/MinPlatformPkg.dec
+
+[PcdsFeatureFlag]
+  #
+  # PCD needed for MinPlatform build includes
+  #
+  gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable                |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable                   |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable                      |FALSE
+
+#
+# Include common libraries
+#
+!include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
+!include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
+!include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
+
 #
 # This package always builds the feature.
 #
--
2.27.0.windows.1


^ permalink raw reply related	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 08/27] SmbiosFeaturePkg: Fix all relative package paths
  2022-01-14  5:31   ` Chaganty, Rangasai V
@ 2022-01-19  1:40     ` Oram, Isaac W
  0 siblings, 0 replies; 86+ messages in thread
From: Oram, Isaac W @ 2022-01-19  1:40 UTC (permalink / raw)
  To: Chaganty, Rangasai V, devel@edk2.groups.io; +Cc: Gao, Liming

Pushed as d1864efa5b..e69e69bdf8

-----Original Message-----
From: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com> 
Sent: Thursday, January 13, 2022 9:31 PM
To: Oram, Isaac W <isaac.w.oram@intel.com>; devel@edk2.groups.io
Cc: Gao, Liming <gaoliming@byosoft.com.cn>
Subject: RE: [edk2-devel][edk2-platforms][PATCH V1 08/27] SmbiosFeaturePkg: Fix all relative package paths

Reviewed-by: Sai Chaganty <rangasai.v.chaganty@intel.com>

-----Original Message-----
From: Oram, Isaac W <isaac.w.oram@intel.com> 
Sent: Tuesday, January 11, 2022 6:20 PM
To: devel@edk2.groups.io
Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
Subject: [edk2-devel][edk2-platforms][PATCH V1 08/27] SmbiosFeaturePkg: Fix all relative package paths

Packages should be at the root of a PACKAGES_PATH entry.
At some point, paths were relative to edk2-platforms/Features/Intel which was functional, but interferes with the proper functioning of packaging tools.

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf            |  2 +-
 Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.dsc         |  2 +-
 Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf |  2 +-
 Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec              | 10 +++++-----
 4 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf b/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf
index 3ed23bd937..c3a3e81503 100644
--- a/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf
+++ b/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemo
+++ ry.fdf
@@ -7,4 +7,4 @@
 #
 ##
 
-  INF SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf
+  INF SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf
diff --git a/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.dsc b/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.dsc
index 31d44b68b3..094dd957b8 100644
--- a/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.dsc
+++ b/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFe
+++ ature.dsc
@@ -100,7 +100,7 @@
   # in the package build.
 
   # Add components here that should be included in the package build.
-  SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf
+  SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf
 
 ###################################################################################################
 #
diff --git a/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf b/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf
index bd8736b621..8e530c4945 100644
--- a/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf
+++ b/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/S
+++ mbiosBasicDxe.inf
@@ -33,7 +33,7 @@
 [Packages]
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
-  SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
+  SmbiosFeaturePkg/SmbiosFeaturePkg.dec
 
 [LibraryClasses]
   BaseLib
diff --git a/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec b/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
index 6170f37969..db3cdbb0d0 100644
--- a/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
+++ b/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg
+++ .dec
@@ -38,7 +38,7 @@
       IndustryStandard/SmBios.h
     <Packages>
       MdePkg/MdePkg.dec
-      SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
+      SmbiosFeaturePkg/SmbiosFeaturePkg.dec
   }
   gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType0BiosInformation.Vendor|0x1
   gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType0BiosInformation.BiosVersion|0x2
@@ -71,7 +71,7 @@
       IndustryStandard/SmBios.h
     <Packages>
       MdePkg/MdePkg.dec
-      SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
+      SmbiosFeaturePkg/SmbiosFeaturePkg.dec
   }
   gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType1SystemInformation.Manufacturer|0x1
   gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType1SystemInformation.ProductName|0x2
@@ -87,7 +87,7 @@
       IndustryStandard/SmBios.h
     <Packages>
       MdePkg/MdePkg.dec
-      SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
+      SmbiosFeaturePkg/SmbiosFeaturePkg.dec
   }
 
   #
@@ -111,7 +111,7 @@
       IndustryStandard/SmBios.h
     <Packages>
       MdePkg/MdePkg.dec
-      SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
+      SmbiosFeaturePkg/SmbiosFeaturePkg.dec
   }
   gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType3SystemEnclosureChassis.Manufacturer|0x1
   gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType3SystemEnclosureChassis.Type|MiscChassisTypeRackMountChassis
@@ -131,7 +131,7 @@
       IndustryStandard/SmBios.h
     <Packages>
       MdePkg/MdePkg.dec
-      SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
+      SmbiosFeaturePkg/SmbiosFeaturePkg.dec
   }
   gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType32SystemBootInformation.BootStatus|BootInformationStatusNoError
 
--
2.27.0.windows.1


^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 15/27] NetworkFeaturePkg: Use MinPlatformPkg build include files
  2022-01-14  5:57   ` Chaganty, Rangasai V
@ 2022-01-19  2:31     ` Oram, Isaac W
  0 siblings, 0 replies; 86+ messages in thread
From: Oram, Isaac W @ 2022-01-19  2:31 UTC (permalink / raw)
  To: Chaganty, Rangasai V, devel@edk2.groups.io; +Cc: Gao, Liming

Pushed as e69e69bdf8..d0919cab63

-----Original Message-----
From: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com> 
Sent: Thursday, January 13, 2022 9:58 PM
To: Oram, Isaac W <isaac.w.oram@intel.com>; devel@edk2.groups.io
Cc: Gao, Liming <gaoliming@byosoft.com.cn>
Subject: RE: [edk2-devel][edk2-platforms][PATCH V1 15/27] NetworkFeaturePkg: Use MinPlatformPkg build include files

Reviewed-by: Sai Chaganty <rangasai.v.chaganty@intel.com>

-----Original Message-----
From: Oram, Isaac W <isaac.w.oram@intel.com> 
Sent: Tuesday, January 11, 2022 6:20 PM
To: devel@edk2.groups.io
Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
Subject: [edk2-devel][edk2-platforms][PATCH V1 15/27] NetworkFeaturePkg: Use MinPlatformPkg build include files

Standalong build was not working due to missing libraries.
Leverage MinPlatformPkg common includes for core libraries.

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/Network/NetworkFeaturePkg/Include/NetworkFeature.dsc | 89 ++------------------
 Features/Intel/Network/NetworkFeaturePkg/NetworkFeaturePkg.dsc      | 18 ++++
 2 files changed, 24 insertions(+), 83 deletions(-)

diff --git a/Features/Intel/Network/NetworkFeaturePkg/Include/NetworkFeature.dsc b/Features/Intel/Network/NetworkFeaturePkg/Include/NetworkFeature.dsc
index bbc91ecbb1..ca151b4e33 100644
--- a/Features/Intel/Network/NetworkFeaturePkg/Include/NetworkFeature.dsc
+++ b/Features/Intel/Network/NetworkFeaturePkg/Include/NetworkFeature.dsc
@@ -18,12 +18,12 @@
 #
 ################################################################################
 [Defines]
-!ifndef $(PEI_ARCH)
-  !error "PEI_ARCH must be specified to build this feature!"
-!endif
-!ifndef $(DXE_ARCH)
-  !error "DXE_ARCH must be specified to build this feature!"
-!endif
+  !ifndef $(PEI_ARCH)
+    !error "PEI_ARCH must be specified to build this feature!"
+  !endif
+  !ifndef $(DXE_ARCH)
+    !error "DXE_ARCH must be specified to build this feature!"
+  !endif
 
   !include NetworkPkg/NetworkDefines.dsc.inc
 
@@ -41,56 +41,9 @@
 #
 ################################################################################
 
-!include MdePkg/MdeLibs.dsc.inc
-
 [LibraryClasses]
   !include NetworkPkg/NetworkLibs.dsc.inc
-
-  #######################################
-  # Edk2 Packages
-  #######################################
-  BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
-  FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
-  HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
-  IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
-  OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-  PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
-  PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
-  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
-  ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
-  SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
-  SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
-  TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
   TlsLib|CryptoPkg/Library/TlsLib/TlsLib.inf
-  UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
-  UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
-  UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
-  UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
-  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
-  UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
-
-[LibraryClasses.common.SEC,LibraryClasses.common.PEI_CORE,LibraryClasses.common.PEIM]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
-  MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
-  PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
-
-[LibraryClasses.common.DXE_CORE,LibraryClasses.common.DXE_SMM_DRIVER,LibraryClasses.common.SMM_CORE,LibraryClasses.common.DXE_DRIVER,LibraryClasses.common.DXE_RUNTIME_DRIVER,LibraryClasses.common.UEFI_DRIVER,LibraryClasses.common.UEFI_APPLICATION]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
-  DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
 
 ################################################################################
 #
@@ -106,21 +59,6 @@
 #       generated for it, but the binary will not be put into any firmware volume.
 #
 ################################################################################
-#
-# Feature PEI Components
-#
-
-# @todo: Change below line to [Components.$(PEI_ARCH)] after https://bugzilla.tianocore.org/show_bug.cgi?id=2308
-#        is completed.
-[Components.IA32]
-  #####################################
-  # Network Feature Package
-  #####################################
-
-  # Add library instances here that are not included in package components and should be tested
-  # in the package build.
-
-  # Add components here that should be included in the package build.
 
 #
 # Feature DXE Components
@@ -138,18 +76,3 @@
 
   # Add components here that should be included in the package build.
   !include NetworkPkg/NetworkComponents.dsc.inc
-
-###################################################################################################
-#
-# BuildOptions Section - Define the module specific tool chain flags that should be used as
-#                        the default flags for a module. These flags are appended to any
-#                        standard flags that are defined by the build process. They can be
-#                        applied for any modules or only those modules with the specific
-#                        module style (EDK or EDKII) specified in [Components] section.
-#
-#                        For advanced features, it is recommended to enable [BuildOptions] in
-#                        the applicable INF file so it does not affect the whole board package
-#                        build when this DSC file is active.
-#
-###################################################################################################
-[BuildOptions]
diff --git a/Features/Intel/Network/NetworkFeaturePkg/NetworkFeaturePkg.dsc b/Features/Intel/Network/NetworkFeaturePkg/NetworkFeaturePkg.dsc
index 199686fa09..cdc5dc851d 100644
--- a/Features/Intel/Network/NetworkFeaturePkg/NetworkFeaturePkg.dsc
+++ b/Features/Intel/Network/NetworkFeaturePkg/NetworkFeaturePkg.dsc
@@ -24,6 +24,24 @@
   PEI_ARCH                       = IA32
   DXE_ARCH                       = X64
 
+[Packages]
+  MinPlatformPkg/MinPlatformPkg.dec
+
+[PcdsFeatureFlag]
+  #
+  # PCD needed for MinPlatform build includes
+  #
+  gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable                |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable                   |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable                      |FALSE
+
+#
+# Include common libraries
+#
+!include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
+!include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
+!include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
+
 #
 # This package always builds the feature.
 #
-- 
2.27.0.windows.1


^ permalink raw reply related	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 20/27] SpcrFeaturePkg: Use MinPlatform build include files
  2022-01-14  6:10   ` Chaganty, Rangasai V
@ 2022-01-19 19:09     ` Oram, Isaac W
  0 siblings, 0 replies; 86+ messages in thread
From: Oram, Isaac W @ 2022-01-19 19:09 UTC (permalink / raw)
  To: Chaganty, Rangasai V, devel@edk2.groups.io; +Cc: Gao, Liming

Pushed as d0919cab63..2082072cc8

-----Original Message-----
From: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com> 
Sent: Thursday, January 13, 2022 10:10 PM
To: Oram, Isaac W <isaac.w.oram@intel.com>; devel@edk2.groups.io
Cc: Gao, Liming <gaoliming@byosoft.com.cn>
Subject: RE: [edk2-devel][edk2-platforms][PATCH V1 20/27] SpcrFeaturePkg: Use MinPlatform build include files

Reviewed-by: Sai Chaganty <rangasai.v.chaganty@intel.com>

-----Original Message-----
From: Oram, Isaac W <isaac.w.oram@intel.com>
Sent: Tuesday, January 11, 2022 6:20 PM
To: devel@edk2.groups.io
Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
Subject: [edk2-devel][edk2-platforms][PATCH V1 20/27] SpcrFeaturePkg: Use MinPlatform build include files

Also added feature enable flag

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/Library/SpcrDeviceLib.h |  2 +-
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PostMemory.fdf          | 13 ++++
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PreMemory.fdf           | 11 ++++
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/SpcrFeature.dsc         | 62 --------------------
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Readme.md                       | 12 ++--
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dec              |  6 ++
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dsc              | 18 ++++++
 7 files changed, 55 insertions(+), 69 deletions(-)

diff --git a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/Library/SpcrDeviceLib.h b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/Library/SpcrDeviceLib.h
index 947813815e..2e50270ee6 100644
--- a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/Library/SpcrDeviceLib.h
+++ b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/Library/
+++ SpcrDeviceLib.h
@@ -12,7 +12,7 @@
 
 /**
   Get a Serial Port device used for SPCR.
-  The caller should call FreePool() to free the memory if return value is not NULL.
+  The caller should call FreePool () to free the memory if return value is not NULL.
 
   @retval NULL          Can not get device.
   @retval Others        A serial port device path.
diff --git a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PostMemory.fdf b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PostMemory.fdf
new file mode 100644
index 0000000000..f963f567c2
--- /dev/null
+++ b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PostMemo
+++ ry.fdf
@@ -0,0 +1,13 @@
+## @file
+#  FDF file for post-memory SpcrFeature advanced feature.
+#
+#  This file is intended to be included into another package so 
+advanced features #  can be conditionally included in the flash image 
+by enabling the respective #  feature via its FeaturePCD.
+#
+# Copyright (C) 2022 Intel Corporation.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent ##
+
+INF SpcrFeaturePkg/SpcrAcpiDxe/SpcrAcpiDxe.inf
diff --git a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PreMemory.fdf b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PreMemory.fdf
new file mode 100644
index 0000000000..3c461e7fbc
--- /dev/null
+++ b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PreMemor
+++ y.fdf
@@ -0,0 +1,11 @@
+## @file
+#  FDF file for pre-memory SpcrFeature advanced feature.
+#
+#  This file is intended to be included into another package so 
+advanced features #  can be conditionally included in the flash image 
+by enabling the respective #  feature via its FeaturePCD.
+#
+# Copyright (C) 2022 Intel Corporation.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent ##
diff --git a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/SpcrFeature.dsc b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/SpcrFeature.dsc
index c51e552df5..b06ddf4fe6 100644
--- a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/SpcrFeature.dsc
+++ b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/SpcrFeat
+++ ure.dsc
@@ -25,40 +25,9 @@
   !error "DXE_ARCH must be specified to build this feature!"
 !endif
 
-################################################################################
-#
-# Library Class section - list of all Library Classes needed by this feature.
-#
-################################################################################
-
-!include MdePkg/MdeLibs.dsc.inc
-
 [LibraryClasses]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-  UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
-  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
-  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-  UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
-  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
-  UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
-
-  #######################################
-  # SpcrFeaturePkg Packages
-  #######################################
   SpcrDeviceLib|SpcrFeaturePkg/Library/SpcrDeviceLibNull/SpcrDeviceLibNull.inf
 
-[LibraryClasses.common.DXE_DRIVER]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-
 ################################################################################
 #
 # Component section - list of all components that need built for this feature.
@@ -74,38 +43,7 @@
 #
 ################################################################################
 
-#
-# Feature DXE Components
-#
-
 # @todo: Change below line to [Components.$(DXE_ARCH)] after https://bugzilla.tianocore.org/show_bug.cgi?id=2308
 #        is completed.
 [Components.X64]
-  #####################################
-  # Spcr Feature Package
-  #####################################
-
-  # Add library instances here that are not included in package components and should be tested
-  # in the package build.
-
-  # Add components here that should be included in the package build.
   SpcrFeaturePkg/SpcrAcpiDxe/SpcrAcpiDxe.inf
-  #{
-#    <LibraryClasses>
-#      SpcrDeviceLib|SpcrFeaturePkg/Library/SpcrDeviceLibNull/SpcrDeviceLibNull.inf
-#  }
-
-###################################################################################################
-#
-# BuildOptions Section - Define the module specific tool chain flags that should be used as
-#                        the default flags for a module. These flags are appended to any
-#                        standard flags that are defined by the build process. They can be
-#                        applied for any modules or only those modules with the specific
-#                        module style (EDK or EDKII) specified in [Components] section.
-#
-#                        For advanced features, it is recommended to enable [BuildOptions] in
-#                        the applicable INF file so it does not affect the whole board package
-#                        build when this DSC file is active.
-#
-###################################################################################################
-[BuildOptions]
diff --git a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Readme.md b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Readme.md
index 0a5d48876d..66138ee0f6 100644
--- a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Readme.md
+++ b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Readme.md
@@ -22,10 +22,10 @@ Platform can implement its own library to select the serial port device.
 * SpcrDeviceLibNull
 
 ## SpcrAcpiDxe
-The main driver of convert the serial port device info to ACPI table.
-It will call the function GetSpcrDevice() in the library SpcrDeviceLib to get the serial port device path.
+The main driver of convert the serial port device info into an ACPI table.
+It will call the function GetSpcrDevice () in the library SpcrDeviceLib to get the serial port device path.
 If the serial port device path is not NULL, then use gEfiPciIoProtocolGuid to get the PCI info, and use the gEfiSerialIoProtocolGuid to get the serial port info, such as the baud rate etc.
-If the serial port device is PCI device 00:16:03 (AMT serial over lan PCI device), then will set the BaseAddress.
+If the serial port device is PCI device 00:16:03 (AMT serial over LAN PCI device), then will set the BaseAddress.
 At last fill the ACPI table as Windows required.
 
 ## SpcrDeviceLibNull
@@ -37,19 +37,19 @@ Fill the serial port device info used for SPCR to ACPI table.
 
 ## Configuration
 There is not special configuration.
-But the platform maybe implemente its own SpcrDeviceLib.
+But the platform may implement its own SpcrDeviceLib.
 
 ## Data Flows
 GetSpcrDevice() -> serial port device path -> get PCI info and serial port info -> ACPI table.
 
 ## Control Flows
-GetSpcrDevice() in SpcrDeviceLib -> SpcrAcpiDxe.
+GetSpcrDevice () in SpcrDeviceLib -> SpcrAcpiDxe.
 
 ## Build Flows
 There is not special build flow.
 
 ## Test Point Results
-* Check the output ACPI table.
+There are not test points implemented.
 
 ## Functional Exit Criteria
 * Check the output ACPI table.
diff --git a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dec b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dec
index 03776abf06..b084fad892 100644
--- a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dec
+++ b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.d
+++ ec
@@ -21,6 +21,12 @@
 [Includes]
   Include
 
+[Guids]
+  gSpcrFeaturePkgTokenSpaceGuid = { 0xe978c988, 0xeeba, 0x4671, { 0xb8, 
+0x0d, 0xcc, 0x8b, 0x89, 0xb5, 0xd1, 0xef }}
+
+[PcdsFeatureFlag]
+  
+gSpcrFeaturePkgTokenSpaceGuid.PcdSpcrFeatureEnable|FALSE|BOOLEAN|0x0000
+0001
+
 [LibraryClasses]
   ## @libraryclass  Provides an API for get SPCR device.
   #
diff --git a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dsc b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dsc
index 82d2d3ac73..2ee874a58e 100644
--- a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dsc
+++ b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.d
+++ sc
@@ -24,6 +24,24 @@
   PEI_ARCH                       = IA32
   DXE_ARCH                       = X64
 
+[Packages]
+  MinPlatformPkg/MinPlatformPkg.dec
+
+[PcdsFeatureFlag]
+  #
+  # PCD needed for MinPlatform build includes
+  #
+  gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable                |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable                   |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable                      |FALSE
+
+#
+# Include common libraries
+#
+!include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
+!include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
+!include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
+
 #
 # This package always builds the feature.
 #
--
2.27.0.windows.1


^ permalink raw reply related	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 21/27] TemplateFeaturePkg: Use MinPlatform build include files
  2022-01-14  6:05   ` Chaganty, Rangasai V
@ 2022-01-19 19:13     ` Oram, Isaac W
  0 siblings, 0 replies; 86+ messages in thread
From: Oram, Isaac W @ 2022-01-19 19:13 UTC (permalink / raw)
  To: Chaganty, Rangasai V, devel@edk2.groups.io; +Cc: Gao, Liming

Pushed as 2082072cc8..92228e9e4b

-----Original Message-----
From: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com> 
Sent: Thursday, January 13, 2022 10:06 PM
To: Oram, Isaac W <isaac.w.oram@intel.com>; devel@edk2.groups.io
Cc: Gao, Liming <gaoliming@byosoft.com.cn>
Subject: RE: [edk2-devel][edk2-platforms][PATCH V1 21/27] TemplateFeaturePkg: Use MinPlatform build include files

Reviewed-by: Sai Chaganty <rangasai.v.chaganty@intel.com>

-----Original Message-----
From: Oram, Isaac W <isaac.w.oram@intel.com> 
Sent: Tuesday, January 11, 2022 6:20 PM
To: devel@edk2.groups.io
Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
Subject: [edk2-devel][edk2-platforms][PATCH V1 21/27] TemplateFeaturePkg: Use MinPlatform build include files

Extend the template to leverage common library build files.

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/TemplateFeaturePkg/Include/TemplateFeature.dsc |  2 +-
 Features/Intel/TemplateFeaturePkg/TemplateFeaturePkg.dsc      | 18 ++++++++++++++++++
 2 files changed, 19 insertions(+), 1 deletion(-)

diff --git a/Features/Intel/TemplateFeaturePkg/Include/TemplateFeature.dsc b/Features/Intel/TemplateFeaturePkg/Include/TemplateFeature.dsc
index 6742eddcf9..dd6d033aca 100644
--- a/Features/Intel/TemplateFeaturePkg/Include/TemplateFeature.dsc
+++ b/Features/Intel/TemplateFeaturePkg/Include/TemplateFeature.dsc
@@ -73,7 +73,7 @@
 #        is completed.
 [Components.IA32]
   #####################################
-  # <TEMPALTE> Feature Package
+  # <TEMPLATE> Feature Package
   #####################################
 
   # Add library instances here that are not included in package components and should be tested diff --git a/Features/Intel/TemplateFeaturePkg/TemplateFeaturePkg.dsc b/Features/Intel/TemplateFeaturePkg/TemplateFeaturePkg.dsc
index 0ce8debee0..03657047dc 100644
--- a/Features/Intel/TemplateFeaturePkg/TemplateFeaturePkg.dsc
+++ b/Features/Intel/TemplateFeaturePkg/TemplateFeaturePkg.dsc
@@ -24,6 +24,24 @@
   PEI_ARCH                       = IA32
   DXE_ARCH                       = X64
 
+[Packages]
+  MinPlatformPkg/MinPlatformPkg.dec
+
+[PcdsFeatureFlag]
+  #
+  # PCD needed for MinPlatform build includes
+  #
+  gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable                |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable                   |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable                      |FALSE
+
+#
+# Include common libraries
+#
+!include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
+!include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
+!include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
+
 #
 # This package always builds the feature.
 #
--
2.27.0.windows.1


^ permalink raw reply related	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 22/27] AdvancedFeaturePkg: Fix all relative package paths
  2022-01-14  5:39   ` Chaganty, Rangasai V
@ 2022-01-19 19:17     ` Oram, Isaac W
  0 siblings, 0 replies; 86+ messages in thread
From: Oram, Isaac W @ 2022-01-19 19:17 UTC (permalink / raw)
  To: Chaganty, Rangasai V, devel@edk2.groups.io; +Cc: Gao, Liming

Pushed as 92228e9e4b..dd5139c6a6

-----Original Message-----
From: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com> 
Sent: Thursday, January 13, 2022 9:39 PM
To: Oram, Isaac W <isaac.w.oram@intel.com>; devel@edk2.groups.io
Cc: Gao, Liming <gaoliming@byosoft.com.cn>
Subject: RE: [edk2-devel][edk2-platforms][PATCH V1 22/27] AdvancedFeaturePkg: Fix all relative package paths

Reviewed-by: Sai Chaganty <rangasai.v.chaganty@intel.com>

-----Original Message-----
From: Oram, Isaac W <isaac.w.oram@intel.com> 
Sent: Tuesday, January 11, 2022 6:20 PM
To: devel@edk2.groups.io
Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
Subject: [edk2-devel][edk2-platforms][PATCH V1 22/27] AdvancedFeaturePkg: Fix all relative package paths

Packages should be at the root of a PACKAGES_PATH entry.
At some point, paths were relative to edk2-platforms/Features/Intel which was functional, but interferes with the proper functioning of packaging tools.

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc | 15 ++++++++-------
 Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf       | 15 ++++++++-------
 Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf        | 15 ++++++++-------
 3 files changed, 24 insertions(+), 21 deletions(-)

diff --git a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc
index ac9ab80e8e..874b8ce7db 100644
--- a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc
+++ b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc
@@ -14,45 +14,46 @@
 # Debug Advanced Features
 #
 !if gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable == TRUE
-  !include Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc
+  !include AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc
 !endif
+
 !if gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable == TRUE
-  !include Debugging/Usb3DebugFeaturePkg/Include/Usb3DebugFeature.dsc
+  !include Usb3DebugFeaturePkg/Include/Usb3DebugFeature.dsc
 !endif
 
 #
 # Network Advanced Features
 #
 !if gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable == TRUE
-  !include Network/NetworkFeaturePkg/Include/NetworkFeature.dsc
+  !include NetworkFeaturePkg/Include/NetworkFeature.dsc
 !endif
 
 #
 # Out-of-Band Management Advanced Features  #  !if gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable == TRUE
-  !include OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc
+  !include IpmiFeaturePkg/Include/IpmiFeature.dsc
 !endif
 
 #
 # Power Management Advanced Features
 #
 !if gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable == TRUE
-  !include PowerManagement/S3FeaturePkg/Include/S3Feature.dsc
+  !include S3FeaturePkg/Include/S3Feature.dsc
 !endif
 
 #
 # System Information Advanced Features
 #
 !if gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable == TRUE
-  !include SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.dsc
+  !include SmbiosFeaturePkg/Include/SmbiosFeature.dsc
 !endif
 
 #
 # User Interface Advanced Features
 #
 !if gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable == TRUE
-  !include UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc
+  !include UserAuthFeaturePkg/Include/UserAuthFeature.dsc
 !endif
 
 !if gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable == TRUE diff --git a/Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf b/Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf
index c49a0fd875..e710fe7f01 100644
--- a/Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf
+++ b/Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf
@@ -15,45 +15,46 @@
 # Debug Advanced Features
 #
 !if gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable == TRUE
-  !include Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf
+  !include AcpiDebugFeaturePkg/Include/PostMemory.fdf
 !endif
+
 !if gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable == TRUE
-  !include Debugging/Usb3DebugFeaturePkg/Include/PostMemory.fdf
+  !include Usb3DebugFeaturePkg/Include/PostMemory.fdf
 !endif
 
 #
 # Network Advanced Features
 #
 !if gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable == TRUE
-  !include Network/NetworkFeaturePkg/Include/PostMemory.fdf
+  !include NetworkFeaturePkg/Include/PostMemory.fdf
 !endif
 
 #
 # Out-of-Band Management Advanced Features  #  !if gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable == TRUE
-  !include OutOfBandManagement/IpmiFeaturePkg/Include/PostMemory.fdf
+  !include IpmiFeaturePkg/Include/PostMemory.fdf
 !endif
 
 #
 # Power Management Advanced Features
 #
 !if gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable == TRUE
-  !include PowerManagement/S3FeaturePkg/Include/PostMemory.fdf
+  !include S3FeaturePkg/Include/PostMemory.fdf
 !endif
 
 #
 # System Information Advanced Features
 #
 !if gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable == TRUE
-  !include SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf
+  !include SmbiosFeaturePkg/Include/PostMemory.fdf
 !endif
 
 #
 # User Interface Advanced Features
 #
 !if gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable == TRUE
-  !include UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf
+  !include UserAuthFeaturePkg/Include/PostMemory.fdf
 !endif
 
 !if gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable == TRUE diff --git a/Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf b/Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf
index 1b21e96a5f..177aafc1ec 100644
--- a/Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf
+++ b/Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf
@@ -15,45 +15,46 @@
 # Debug Advanced Features
 #
 !if gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable == TRUE
-  !include Debugging/AcpiDebugFeaturePkg/Include/PreMemory.fdf
+  !include AcpiDebugFeaturePkg/Include/PreMemory.fdf
 !endif
+
 !if gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable == TRUE
-  !include Debugging/Usb3DebugFeaturePkg/Include/PreMemory.fdf
+  !include Usb3DebugFeaturePkg/Include/PreMemory.fdf
 !endif
 
 #
 # Network Advanced Features
 #
 !if gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable == TRUE
-  !include Network/NetworkFeaturePkg/Include/PreMemory.fdf
+  !include NetworkFeaturePkg/Include/PreMemory.fdf
 !endif
 
 #
 # Out-of-Band Management Advanced Features  #  !if gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable == TRUE
-  !include OutOfBandManagement/IpmiFeaturePkg/Include/PreMemory.fdf
+  !include IpmiFeaturePkg/Include/PreMemory.fdf
 !endif
 
 #
 # Power Management Advanced Features
 #
 !if gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable == TRUE
-  !include PowerManagement/S3FeaturePkg/Include/PreMemory.fdf
+  !include S3FeaturePkg/Include/PreMemory.fdf
 !endif
 
 #
 # System Information Advanced Features
 #
 !if gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable == TRUE
-  !include SystemInformation/SmbiosFeaturePkg/Include/PreMemory.fdf
+  !include SmbiosFeaturePkg/Include/PreMemory.fdf
 !endif
 
 #
 # User Interface Advanced Features
 #
 !if gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable == TRUE
-  !include UserInterface/UserAuthFeaturePkg/Include/PreMemory.fdf
+  !include UserAuthFeaturePkg/Include/PreMemory.fdf
 !endif
 
 !if gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable == TRUE
--
2.27.0.windows.1


^ permalink raw reply related	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 24/27] MinPlatformPkg/Build: Add an include file for the common SPI FV info
  2022-01-14  6:02   ` Chaganty, Rangasai V
@ 2022-01-19 19:20     ` Oram, Isaac W
  0 siblings, 0 replies; 86+ messages in thread
From: Oram, Isaac W @ 2022-01-19 19:20 UTC (permalink / raw)
  To: Chaganty, Rangasai V, devel@edk2.groups.io
  Cc: Desimone, Nathaniel L, Gao, Liming, Dong, Eric

Pushed as dd5139c6a6..6e4384833e

-----Original Message-----
From: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com> 
Sent: Thursday, January 13, 2022 10:02 PM
To: Oram, Isaac W <isaac.w.oram@intel.com>; devel@edk2.groups.io
Cc: Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Dong, Eric <eric.dong@intel.com>
Subject: RE: [edk2-devel][edk2-platforms][PATCH V1 24/27] MinPlatformPkg/Build: Add an include file for the common SPI FV info

Reviewed-by: Sai Chaganty <rangasai.v.chaganty@intel.com>

-----Original Message-----
From: Oram, Isaac W <isaac.w.oram@intel.com> 
Sent: Tuesday, January 11, 2022 6:20 PM
To: devel@edk2.groups.io
Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Dong, Eric <eric.dong@intel.com>
Subject: [edk2-devel][edk2-platforms][PATCH V1 24/27] MinPlatformPkg/Build: Add an include file for the common SPI FV info

This include file allows for elimination of a lot of duplicate code and makes FDF files more readable.

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Eric Dong <eric.dong@intel.com>
Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Platform/Intel/MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf | 24 ++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/Platform/Intel/MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf b/Platform/Intel/MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
new file mode 100644
index 0000000000..fdda085a41
--- /dev/null
+++ b/Platform/Intel/MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fd
+++ f
@@ -0,0 +1,24 @@
+## @file CommonSpiFvHeaderInfo.fdf
+#
+# @copyright
+# Copyright (C) 2020 - 2021 Intel Corporation # # 
+SPDX-License-Identifier: BSD-2-Clause-Patent ##
+
+FvAlignment        = 16         #FV alignment and FV attributes setting.
+ERASE_POLARITY     = 1
+MEMORY_MAPPED      = TRUE
+STICKY_WRITE       = TRUE
+LOCK_CAP           = TRUE
+LOCK_STATUS        = TRUE
+WRITE_DISABLED_CAP = TRUE
+WRITE_ENABLED_CAP  = TRUE
+WRITE_STATUS       = TRUE
+WRITE_LOCK_CAP     = TRUE
+WRITE_LOCK_STATUS  = TRUE
+READ_DISABLED_CAP  = TRUE
+READ_ENABLED_CAP   = TRUE
+READ_STATUS        = TRUE
+READ_LOCK_CAP      = TRUE
+READ_LOCK_STATUS   = TRUE
--
2.27.0.windows.1


^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 25/27] WhitleyOpenBoardPkg/Build: Use common SPI FV Header include
  2022-01-13  2:50   ` Nate DeSimone
@ 2022-01-19 19:34     ` Oram, Isaac W
  0 siblings, 0 replies; 86+ messages in thread
From: Oram, Isaac W @ 2022-01-19 19:34 UTC (permalink / raw)
  To: Desimone, Nathaniel L, devel@edk2.groups.io; +Cc: Chiu, Chasel

Pushed as 6e4384833e..b2503a71a3

-----Original Message-----
From: Desimone, Nathaniel L <nathaniel.l.desimone@intel.com> 
Sent: Wednesday, January 12, 2022 6:51 PM
To: Oram, Isaac W <isaac.w.oram@intel.com>; devel@edk2.groups.io
Cc: Chiu, Chasel <chasel.chiu@intel.com>
Subject: RE: [edk2-devel][edk2-platforms][PATCH V1 25/27] WhitleyOpenBoardPkg/Build: Use common SPI FV Header include

Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>

> -----Original Message-----
> From: Oram, Isaac W <isaac.w.oram@intel.com>
> Sent: Tuesday, January 11, 2022 6:20 PM
> To: devel@edk2.groups.io
> Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Desimone, Nathaniel L 
> <nathaniel.l.desimone@intel.com>; Chiu, Chasel <chasel.chiu@intel.com>
> Subject: [edk2-devel][edk2-platforms][PATCH V1 25/27]
> WhitleyOpenBoardPkg/Build: Use common SPI FV Header include
> 
> Use the MinPlatformPkg version of CommonSpiFvHeaderInfo.fdf.
> 
> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
> Cc: Chasel Chiu <chasel.chiu@intel.com>
> 
> Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
> ---
> 
> Platform/Intel/WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInf
> o.fdf | 24 ----------
>  Platform/Intel/WhitleyOpenBoardPkg/JunctionCity/PlatformPkg.fdf          |
> 48 ++++++++++----------
>  Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.fdf                       | 48
> ++++++++++----------
>  3 files changed, 48 insertions(+), 72 deletions(-)
> 
> diff --git
> a/Platform/Intel/WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderI
> nfo.fdf
> b/Platform/Intel/WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderI
> nfo.fdf
> deleted file mode 100644
> index 08f8b95938..0000000000
> ---
> a/Platform/Intel/WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderI
> nfo.fdf
> +++ /dev/null
> @@ -1,24 +0,0 @@
> -## @file CommonSpiFvHeaderInfo.fdf
> -#
> -# @copyright
> -# Copyright 2020 - 2021 Intel Corporation. <BR> -# -# SPDX-License-
> Identifier: BSD-2-Clause-Patent -##
> -
> -FvAlignment        = 16         #FV alignment and FV attributes setting.
> -ERASE_POLARITY     = 1
> -MEMORY_MAPPED      = TRUE
> -STICKY_WRITE       = TRUE
> -LOCK_CAP           = TRUE
> -LOCK_STATUS        = TRUE
> -WRITE_DISABLED_CAP = TRUE
> -WRITE_ENABLED_CAP  = TRUE
> -WRITE_STATUS       = TRUE
> -WRITE_LOCK_CAP     = TRUE
> -WRITE_LOCK_STATUS  = TRUE
> -READ_DISABLED_CAP  = TRUE
> -READ_ENABLED_CAP   = TRUE
> -READ_STATUS        = TRUE
> -READ_LOCK_CAP      = TRUE
> -READ_LOCK_STATUS   = TRUE
> diff --git
> a/Platform/Intel/WhitleyOpenBoardPkg/JunctionCity/PlatformPkg.fdf
> b/Platform/Intel/WhitleyOpenBoardPkg/JunctionCity/PlatformPkg.fdf
> index 70ceaa1889..0b919b5ea9 100644
> --- a/Platform/Intel/WhitleyOpenBoardPkg/JunctionCity/PlatformPkg.fdf
> +++ b/Platform/Intel/WhitleyOpenBoardPkg/JunctionCity/PlatformPkg.fdf
> @@ -394,13 +394,13 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
> 
> ##########################################################
> ######################
> 
>  [FV.FvSecurityPreMemory]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 40ab290f-8494-41cf-b302-31b178b4ce0b
> 
>    !include 
> MinPlatformPkg/Include/Fdf/CoreSecurityPreMemoryInclude.fdf
> 
>  [FV.FvPreMemory]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 6522280D-28F9-4131-ADC4-F40EBFA45864
> 
>    INF  UefiCpuPkg/SecCore/SecCore.inf @@ -481,13 +481,13 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>    }
> 
>  [FV.FvAdvancedPreMemory]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 09f25d44-b2ef-4225-8b2e-e0e094b51775
> 
>    !include AdvancedFeaturePkg/Include/PreMemory.fdf
> 
>  [FV.FvBspPreMemory]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = e6c65995-8c2d-4119-a52d-7dbf1acb45a1
> 
>    FILE FV_IMAGE = 09f25d44-b2ef-4225-8b2e-e0e094b51775 { @@ -498,11 
> +498,11 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>  # FvPostMemory includes common hardware, common core variable 
> services, load and invoke DXE etc  #  [FV.FvPostMemoryUncompressed]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = B4705B4B-0BE6-4BDB-A83A-51CAD2345CEA
> 
>  [FV.FvPostMemory]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 3298afc4-c484-47f1-a65a-5917a54b5e8c
> 
>    FILE FV_IMAGE = B4705B4B-0BE6-4BDB-A83A-51CAD2345CEA { @@ -515,11 
> +515,11 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>  # FvBsp includes board specific components  #  [FV.FvBspUncompressed]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = e4c65347-fd90-4143-8a41-113e1015fe07
> 
>  [FV.FvBsp]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 9e151cf3-ca90-444f-b33b-a9941cbc772f
> 
>    FILE FV_IMAGE = e4c65347-fd90-4143-8a41-113e1015fe07 { @@ -529,7 
> +529,7 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>    }
> 
>  [FV.FvUefiBootUncompressed]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = C4D3B0E2-FB26-44f8-A05B-E95895FCB960
> 
>    INF  MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
> @@ -567,7 +567,7 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
> 
> 
>  [FV.FvUefiBoot]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = ab9fe87b-1e37-440c-91cc-9aea03ce7bec
> 
>    FILE FV_IMAGE = C4D3B0E2-FB26-44f8-A05B-E95895FCB960 { @@ -577,7 
> +577,7 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>    }
> 
>  [FV.FvOsBootUncompressed]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = CDBB7B35-6833-4ed6-9AB2-57D2ACDDF6F0
> 
>    #
> @@ -686,7 +686,7 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>    INF  MinPlatformPkg/Acpi/AcpiSmm/AcpiSmm.inf
> 
>  [FV.FvOsBoot]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = c7488640-5f51-4969-b63b-89fc369e1725
> 
>    FILE FV_IMAGE = CDBB7B35-6833-4ed6-9AB2-57D2ACDDF6F0 { @@ -696,13 
> +696,13 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>    }
> 
>  [FV.FvSecuritySilicon]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = AD262F8D-BDED-4668-A8D4-8BC73516652F
> 
>    !include MinPlatformPkg/Include/Fdf/CoreSecurityLateInclude.fdf
> 
>  [FV.FvSecurityUncompressed]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 03E25550-89A5-4ee6-AF60-DB0553D91FD2
> 
>    FILE FV_IMAGE = 81F80AEA-91EB-4AD9-A563-7CEBAA167B25 { @@ -712,7 
> +712,7 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>    }
> 
>  [FV.FvSecurity]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 68134833-2ff6-4d22-973b-575d0eae8ffd
> 
>    FILE FV_IMAGE = 03E25550-89A5-4ee6-AF60-DB0553D91FD2 { @@ -722,13 
> +722,13 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>    }
> 
>  [FV.FvAdvancedUncompressed]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 70aeaf57-4997-49ce-a4f7-122980745670
> 
>    !include AdvancedFeaturePkg/Include/PostMemory.fdf
> 
>  [FV.FvAdvanced]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = f21ee7a1-53a9-453d-aee3-b6a5c25bada5
> 
>    FILE FV_IMAGE = 70aeaf57-4997-49ce-a4f7-122980745670 { @@ -741,7 
> +741,7 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>  # FV for all Microcode Updates.
>  #
>  [FV.FvMicrocode]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    LOCK_STATUS        = FALSE
>    FvNameGuid         = D2C29BA7-3809-480F-9C3D-DE389C61425A
> 
> @@ -753,7 +753,7 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
> 
> 
>  [FV.FvVPD]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    LOCK_STATUS        = FALSE
>    FvNameGuid         = FFC29BA7-3809-480F-9C3D-DE389C61425A
>    FILE RAW = FF7DB236-F856-4924-90F8-CDF12FB875F3 { @@ -764,11 
> +764,11 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>  # Various Vendor UEFI Drivers (OROMs).
>  #
>  [FV.FvOpromUncompressed]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = B6EDE22C-DE30-45fa-BB09-CA202C1654B7
> 
>  [FV.FvOprom]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 983BCAB5-BF10-42ce-B85D-CB805DCB1EFD
> 
>    FILE FV_IMAGE = B6EDE22C-DE30-45fa-BB09-CA202C1654B7 { @@ -780,7 
> +780,7 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>  [FV.FvWhea]
>    BlockSize          = 0x1000
>    NumBlocks          = 0x30
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = d6a1cd70-4b33-4994-a6ea-375f2ccc5437
> 
>  #
> @@ -789,11 +789,11 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>  [FV.FvAcm]
>    BlockSize          = 0x1000
>    NumBlocks          = 0x50
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 11668261-8A8D-47ca-9893-052D24435E59
> 
>  [FV.FvFpga]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 974650E7-6DFE-4998-A124-CEDEC5C9B47D
> 
> 
> ##########################################################
> ######################
> diff --git a/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.fdf
> b/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.fdf
> index 14d7502b59..7e2a8b1b9f 100644
> --- a/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.fdf
> +++ b/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.fdf
> @@ -393,11 +393,11 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
> 
> ##########################################################
> ######################
> 
>  [FV.FvSecurityPreMemory]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 40ab290f-8494-41cf-b302-31b178b4ce0b
> 
>  [FV.FvPreMemory]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 6522280D-28F9-4131-ADC4-F40EBFA45864
> 
>    INF  UefiCpuPkg/SecCore/SecCore.inf @@ -478,11 +478,11 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>    }
> 
>  [FV.FvAdvancedPreMemory]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 09f25d44-b2ef-4225-8b2e-e0e094b51775
> 
>  [FV.FvBspPreMemory]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = e6c65995-8c2d-4119-a52d-7dbf1acb45a1
> 
>    FILE FV_IMAGE = 09f25d44-b2ef-4225-8b2e-e0e094b51775 { @@ -493,11 
> +493,11 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>  # FvPostMemory includes common hardware, common core variable 
> services, load and invoke DXE etc  #  [FV.FvPostMemoryUncompressed]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = B4705B4B-0BE6-4BDB-A83A-51CAD2345CEA
> 
>  [FV.FvPostMemory]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 3298afc4-c484-47f1-a65a-5917a54b5e8c
> 
>    FILE FV_IMAGE = B4705B4B-0BE6-4BDB-A83A-51CAD2345CEA { @@ -510,11 
> +510,11 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>  # FvBsp includes board specific components  #  [FV.FvBspUncompressed]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = e4c65347-fd90-4143-8a41-113e1015fe07
> 
>  [FV.FvBsp]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 9e151cf3-ca90-444f-b33b-a9941cbc772f
> 
>    FILE FV_IMAGE = e4c65347-fd90-4143-8a41-113e1015fe07 { @@ -524,7 
> +524,7 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>    }
> 
>  [FV.FvUefiBootUncompressed]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = C4D3B0E2-FB26-44f8-A05B-E95895FCB960
> 
>    INF  MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
> @@ -556,7 +556,7 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>    INF  BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.inf
> 
>  [FV.FvUefiBoot]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = ab9fe87b-1e37-440c-91cc-9aea03ce7bec
> 
>    FILE FV_IMAGE = C4D3B0E2-FB26-44f8-A05B-E95895FCB960 { @@ -566,7 
> +566,7 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>    }
> 
>  [FV.FvOsBootUncompressed]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = CDBB7B35-6833-4ed6-9AB2-57D2ACDDF6F0
> 
>    #
> @@ -673,7 +673,7 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>    INF  MinPlatformPkg/Acpi/AcpiSmm/AcpiSmm.inf
> 
>  [FV.FvOsBoot]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = c7488640-5f51-4969-b63b-89fc369e1725
> 
>    FILE FV_IMAGE = CDBB7B35-6833-4ed6-9AB2-57D2ACDDF6F0 { @@ -683,11 
> +683,11 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>    }
> 
>  [FV.FvSecuritySilicon]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = AD262F8D-BDED-4668-A8D4-8BC73516652F
> 
>  [FV.FvSecurityUncompressed]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 03E25550-89A5-4ee6-AF60-DB0553D91FD2
> 
>    FILE FV_IMAGE = 81F80AEA-91EB-4AD9-A563-7CEBAA167B25 { @@ -697,7 
> +697,7 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>    }
> 
>  [FV.FvSecurity]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 68134833-2ff6-4d22-973b-575d0eae8ffd
> 
>    FILE FV_IMAGE = 03E25550-89A5-4ee6-AF60-DB0553D91FD2 { @@ -707,11 
> +707,11 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>    }
> 
>  [FV.FvAdvancedUncompressed]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 70aeaf57-4997-49ce-a4f7-122980745670
> 
>  [FV.FvAdvanced]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = f21ee7a1-53a9-453d-aee3-b6a5c25bada5
> 
>    FILE FV_IMAGE = 70aeaf57-4997-49ce-a4f7-122980745670 { @@ -724,7 
> +724,7 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>  # FV for all Microcode Updates.
>  #
>  [FV.FvMicrocode]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    LOCK_STATUS        = FALSE
>    FvNameGuid         = D2C29BA7-3809-480F-9C3D-DE389C61425A
> 
> @@ -736,7 +736,7 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
> 
> 
>  [FV.FvVPD]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    LOCK_STATUS        = FALSE
>    FvNameGuid         = FFC29BA7-3809-480F-9C3D-DE389C61425A
>    FILE RAW = FF7DB236-F856-4924-90F8-CDF12FB875F3 { @@ -747,11 
> +747,11 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>  # Various Vendor UEFI Drivers (OROMs).
>  #
>  [FV.FvOpromUncompressed]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = B6EDE22C-DE30-45fa-BB09-CA202C1654B7
> 
>  [FV.FvOprom]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 983BCAB5-BF10-42ce-B85D-CB805DCB1EFD
> 
>    FILE FV_IMAGE = B6EDE22C-DE30-45fa-BB09-CA202C1654B7 { @@ -763,7 
> +763,7 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>  [FV.FvWhea]
>    BlockSize          = 0x1000
>    NumBlocks          = 0x30
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = d6a1cd70-4b33-4994-a6ea-375f2ccc5437
> 
>  #
> @@ -772,11 +772,11 @@ SET
> gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize         = 0x01000000
>  [FV.FvAcm]
>    BlockSize          = 0x1000
>    NumBlocks          = 0x50
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 11668261-8A8D-47ca-9893-052D24435E59
> 
>  [FV.FvFpga]
> -  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
> +  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
>    FvNameGuid         = 974650E7-6DFE-4998-A124-CEDEC5C9B47D
> 
> 
> ##########################################################
> ######################
> --
> 2.27.0.windows.1


^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency
  2022-01-13 19:33       ` Oram, Isaac W
@ 2022-01-19 23:30         ` Nate DeSimone
  0 siblings, 0 replies; 86+ messages in thread
From: Nate DeSimone @ 2022-01-19 23:30 UTC (permalink / raw)
  To: Oram, Isaac W, devel@edk2.groups.io
  Cc: Chaganty, Rangasai V, Gao, Liming, Dong, Eric, Tan, Ming,
	Chiu, Chasel, Bi, Dandan, Shindo, Miki, Abbas, Mohamed,
	KARPAGAVINAYAGAM, MANICKAVASAKAM

Hi Isaac,

Thank you for digging into the PEI_ARCH/DXE_ARCH issue. It is unfortunate that issue is not totally solved in BaseTools yet. With that new knowledge, Patch 1 and 18 are now approved. Please fix patch 19 and resend it. I think that should complete the series.

Thanks,
Nate

-----Original Message-----
From: Oram, Isaac W <isaac.w.oram@intel.com> 
Sent: Thursday, January 13, 2022 11:34 AM
To: Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>; devel@edk2.groups.io
Cc: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Dong, Eric <eric.dong@intel.com>; Tan, Ming <ming.tan@intel.com>; Chiu, Chasel <chasel.chiu@intel.com>; Bi, Dandan <dandan.bi@intel.com>; Shindo, Miki <miki.shindo@intel.com>; Abbas, Mohamed <mohamed.abbas@intel.com>; KARPAGAVINAYAGAM, MANICKAVASAKAM <manickavasakamk@ami.com>
Subject: RE: [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency

Inline discussion continues.

Regards,
Isaac

-----Original Message-----
From: Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>
Sent: Wednesday, January 12, 2022 7:54 PM
To: Oram, Isaac W <isaac.w.oram@intel.com>; devel@edk2.groups.io
Cc: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Dong, Eric <eric.dong@intel.com>; Tan, Ming <ming.tan@intel.com>; Chiu, Chasel <chasel.chiu@intel.com>; Bi, Dandan <dandan.bi@intel.com>; Shindo, Miki <miki.shindo@intel.com>; Abbas, Mohamed <mohamed.abbas@intel.com>; KARPAGAVINAYAGAM, MANICKAVASAKAM <manickavasakamk@ami.com>
Subject: RE: [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency

Hi Isaac,

Comments inline.

Thanks,
Nate

-----Original Message-----
From: Oram, Isaac W <isaac.w.oram@intel.com>
Sent: Wednesday, January 12, 2022 7:15 PM
To: Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>; devel@edk2.groups.io
Cc: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Dong, Eric <eric.dong@intel.com>; Tan, Ming <ming.tan@intel.com>; Chiu, Chasel <chasel.chiu@intel.com>; Bi, Dandan <dandan.bi@intel.com>; Shindo, Miki <miki.shindo@intel.com>; Abbas, Mohamed <mohamed.abbas@intel.com>; KARPAGAVINAYAGAM, MANICKAVASAKAM <manickavasakamk@ami.com>
Subject: RE: [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency

Thanks Nate.

Comments in line.

Regards,
Isaac

-----Original Message-----
From: Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>
Sent: Wednesday, January 12, 2022 6:47 PM
To: Oram, Isaac W <isaac.w.oram@intel.com>; devel@edk2.groups.io
Cc: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Dong, Eric <eric.dong@intel.com>; Tan, Ming <ming.tan@intel.com>; Chiu, Chasel <chasel.chiu@intel.com>; Bi, Dandan <dandan.bi@intel.com>; Shindo, Miki <miki.shindo@intel.com>; Abbas, Mohamed <mohamed.abbas@intel.com>; KARPAGAVINAYAGAM, MANICKAVASAKAM <manickavasakamk@ami.com>
Subject: RE: [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency

Hi Isaac,

Thank you for doing this cleanup work. I have some comments for you. I have provided a summary of my feedback below:

PATCH 01/27

* Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc

Line 69: [Components.IA32] should be changed to [Components.$(PEI_ARCH)] Line 83: [Components.X64] should be changed to [Components.$(DXE_ARCH)]

Note: These comments can also be addressed by restoring the @todo comment stating that these changes still need to be done (which you deleted.)

[Isaac] $(DXE_ARCH) and $(PEI_ARCH) are not fully functional.  It appears that they are fine in DSC files, even when inside an include.  But they are not fine inside an include in an FDF file.  The PreMemory.fdf and PostMemory.fdf do not work when I try to introduce this change.  
As these are not required, ToDo are against coding style and are bad for comprehensibility, I would prefer to not add such useless comments back in.  Comments should improve the comprehensibility of code and should not distract from understanding the code.

[Nate] The $(PEI_ARCH)/$(DXE_ARCH) additions are not be necessary in the FDF files. Adding them to the DSC file should be sufficient. Can you re-test with just the DSC file change?

[Isaac] I can't make the build work with a macros in the DSC.  FDF parsing throws an error.  I misspoke slightly in the prior comment, it is not the FDF include that is the problem.  It is the DSC include.

The macros aren't used in the FDF, but the presence of the included macro somehow interferes with the FDF parser determining the architecture for components.  It only seems to work without DSC includes.

If I use $(DXE_ARCH) in an includable DSC file, the FDF parsing throws this kind of error:  For example modifying AcpiDebugFeature.dsc to use $(DXE_ARCH) Standalone build works fine (no FDF) Enabling in a board build, you get:
build.py...
 : error F001: Module o:\edk2-platforms\Features\Intel\Debugging\AcpiDebugFeaturePkg\AcpiDebugDxeSmm\AcpiDebugDxe.inf NOT found in DSC file; Is it really a binary module?

If I move the [Components.$(DXE_ARCH)] to the platform DSC file, then the build succeeds.

I have submitted a bug to document this issue:  https://bugzilla.tianocore.org/show_bug.cgi?id=3803



PATCH 18/27

* Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dsc

Line 33: [PcdsFeatureFlag.X64] should be changed to [PcdsFeatureFlag.$(DXE_ARCH)]

Note: This comment can also be addressed by adding a @todo comment stating that this change still needs to be done.
[Isaac] See prior response.

PATCH 19/27

* Features/Intel/Debugging/Usb3DebugFeaturePkg/Include/Usb3DebugFeature.dsc

Line 35: Typo here. Usb3DebugPortParamLibo should be Usb3DebugPortParamLib.
[Isaac] Good catch.  I guess we don't catch that class of error if the library class is not used.

* Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dsc

Line 40: Did you test compilation for the Usb3DebugFeaturePkg? I've generally run into issues when a components sections does not specify a machine architecture through some sort of means.
[Isaac] There is no code consuming these libraries.  I verified build of 32 and 64 bit modes as well as part of AdvancedFeaturePkg build and a board package build.
I believe that library classes can be specified by module type and the build tool builds the right mode for the consuming driver on demand.  Basically, there is no value to specifying architecture for a library.
This does not work with components however.  If you leave the architecture unspecified, you get an error when including the component in an FDF as the build does not know how to resolve.

[Nate] I bring this up because you added a [Components] section and put this package's library classes into that [Components] section for the purposes of running a build test on those library classes even though they are not consumed by anything. That new [Components] section does not specify a machine architecture so I'm wondering if the compilation still succeeds.

[Isaac]
Compilation in 32 and 64 bit are fine.  This technique was pre-existing in the USB feature.  I just moved it from the includable feature DSC to the standalone build DSC as I don't think that boards should build these libraries all the time.  

I have a mixed feeling about it.  It is a clever way to enable build testing for all architectures.  It is misleading though, as they are libraries and not components.  If we list the libraries in a bare [Components] section, the architecture is controlled by the build arch input and you can thus test both 32b and 64b builds easily with -a options.  As opposed to needing a component that includes the library to get the build tools to build the library for a given arch and cluttering the codebase with "dummy" components to enable build testing.  I think it is generally a good practice to have the standalone package builds verify build for all architectures.  But I didn't extend it to all features as I think that is worthy of an RFC discussion, if there should be another kind of build option, and so on.


PATCH 26/27

Since FvAdvanced is post-memory and not covered by the boot guard IBB, I suspect we should probably also support optional signing of that FV.
[Isaac] I do not know how to act on that suggestion.  That seems out of scope for this change.  I restricted my changes to be functionally compatible as I do not have hardware to test these changes other than minimally.

[Nate] Nevermind. I checked all the OpenBoardPkgs we have and none of them have FV signing enabled anyway. Ignore this comment.

Thanks,
Nate

-----Original Message-----
From: Oram, Isaac W <isaac.w.oram@intel.com>
Sent: Tuesday, January 11, 2022 6:20 PM
To: devel@edk2.groups.io
Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Dong, Eric <eric.dong@intel.com>; Tan, Ming <ming.tan@intel.com>; Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>; Chiu, Chasel <chasel.chiu@intel.com>; Bi, Dandan <dandan.bi@intel.com>; Shindo, Miki <miki.shindo@intel.com>; Abbas, Mohamed <mohamed.abbas@intel.com>; KARPAGAVINAYAGAM, MANICKAVASAKAM <manickavasakamk@ami.com>
Subject: [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency

This series addresses inconsistencies in feature implementation and use. Some inconsistencies are just conventions of the feature design/template/convention.  Some are inconsistency with feature design intent that negatively affect the usability of the features and the amount of work required from board porting engineers.

Some features were missing feature enable flags.
Some features had non-functional standalone builds.
Many features were implemented to include common core build content in their feature include files.
Updated some of the Readme content.
Added AdvancedFeaturePkg.fdf to build all feature content to support verifying no build time issues between features.
Removed duplicate and unused content from build files.
Modified the TemplateFeaturePkg to use the common MinPlatform include content.

Removed all instances where features were relative to Features/Intel and made them relative to the package roots.
This does mean PACKAGES_PATH may need to be extended for all the feature domains.  Debugging, PowerManagement, etc.
However, it should enable packaging tools to function properly as the relative paths violate spec.

Use of the common MinPlatformPkg build includes does increase the build time for each individual feature in standalone build modes. It does not negatively impact board or AdvancedFeaturePkg builds as the common content is only built once. Part of MinPlatform arch intent is to reduce cognitive complexity, so the simpler build is more valuable than fast build time.

Cc: Sai Chaganty <mailto:rangasai.v.chaganty@intel.com>
Cc: Liming Gao <mailto:gaoliming@byosoft.com.cn>
Cc: Eric Dong <mailto:eric.dong@intel.com>
Cc: Ming Tan <mailto:ming.tan@intel.com>
Cc: Nate DeSimone <mailto:nathaniel.l.desimone@intel.com>
Cc: Chasel Chiu <mailto:chasel.chiu@intel.com>
Cc: Dandan Bi <mailto:dandan.bi@intel.com>
Cc: Miki Shindo <mailto:miki.shindo@intel.com>
Cc: Mohamed Abbas <mailto:mohamed.abbas@intel.com>
Cc: Manickavasakam Karpagavinayagam <mailto:manickavasakamk@ami.com>

Signed-off-by: Isaac Oram <mailto:isaac.w.oram@intel.com>

Isaac Oram (27):
  BeepDebugFeaturePkg: Use MinPlatformPkg build include files
  BeepDebugFeaturePkg: Fix all relative package paths
  AcpiDebugFeaturePkg: Fix all relative package paths
  IpmiFeaturePkg: Fix all relative package paths
  IpmiFeaturePkg: Fix build errors
  S3FeaturePkg: Fix all relative package paths
  S3FeaturePkg: Use MinPlatformPkg build include files
  SmbiosFeaturePkg: Fix all relative package paths
  SmbiosFeaturePkg: Use MinPlatformPkg build include files
  UserAuthFeaturePkg: Fix all relative package paths
  UserAuthFeaturePkg: Use MinPlatformPkg build include files
  VirtualKeyboardFeaturePkg: Fix all relative package paths
  VirtualKeyboardFeaturePkg: Use MinPlatformPkg build include files
  VirtualKeyboardFeaturePkg: Add feature enable PCD
  NetworkFeaturePkg: Use MinPlatformPkg build include files
  LogoFeaturePkg: Use MinPlatformPkg build include files
  PostCodeDebugFeaturePkg: Complete as an advanced feature
  AcpiDebugFeaturePkg: Use MinPlatformPkg build include files
  Usb3DebugFeaturePkg: Align with feature design guidelines
  SpcrFeaturePkg: Use MinPlatform build include files
  TemplateFeaturePkg: Use MinPlatform build include files
  AdvancedFeaturePkg: Fix all relative package paths
  AdvancedFeaturePkg: Add missing features
  MinPlatformPkg/Build: Add an include file for the common SPI FV info
  WhitleyOpenBoardPkg/Build: Use common SPI FV Header include
  AdvancedFeaturePkg/Build: Add FDF to create FV for all features
  WhitleyOpenBoardPkg/Build: Enable Features/Intel features

 Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc                                                                  |  67 +++++-
 Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.fdf                                                                  |  49 +++++
 Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc                                                            |  49 +++--
 Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc                                                         |  64 +++++-
 Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf                                                                  |  49 +++--
 Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf                                                                   |  49 +++--
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf                                             |   2 +-
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf                                             |   2 +-
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec                                                      |   2 +-
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dsc                                                      |  21 ++
 Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc                                                 |  74 +------
 Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf                                                       |   4 +-
 Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dec                                                      |   7 +-
 Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dsc                                                      |  28 +++
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc                                                 | 222 ++++++-------------
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/Library/BeepLib.h                                                    |   6 +-
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PostMemory.fdf                                                       |  14 ++
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PreMemory.fdf                                                        |  13 ++
 Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/PeiBeepStatusCodeHandlerLib.inf             |   5 +-
 Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf      |   3 -
 Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/SmmBeepStatusCodeHandlerLib.inf             |   3 -
 Features/Intel/Debugging/BeepDebugFeaturePkg/Readme.md                                                                    |  91 +++++---
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostCodeDebugFeature.dsc                                         | 231 +++++---------------
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostMemory.fdf                                                   |  14 ++
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PreMemory.fdf                                                    |  13 ++
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Library/PostCodeStatusCodeHandlerLib/PeiPostCodeStatusCodeHandlerLib.inf |   2 +-
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/PostCodeDebugFeaturePkg.dec                                              |  11 +
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/PostCodeDebugFeaturePkg.dsc                                              |  30 +++
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Readme.md                                                                |  31 ++-
 Features/Intel/Debugging/Usb3DebugFeaturePkg/Include/Usb3DebugFeature.dsc                                                 | 131 ++---------
 Features/Intel/Debugging/Usb3DebugFeaturePkg/Readme.md                                                                    |  50 +++--
 Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dec                                                      |  14 +-
 Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dsc                                                      |  18 ++
 Features/Intel/Network/NetworkFeaturePkg/Include/NetworkFeature.dsc                                                       |  89 +-------
 Features/Intel/Network/NetworkFeaturePkg/NetworkFeaturePkg.dsc                                                            |  18 ++
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcAcpi/BmcAcpi.inf                                                     |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/BmcElog.inf                                                     |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbDxe.inf                                                          |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbPei.inf                                                          |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dxe/GenericIpmi.inf                                         |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Pei/PeiGenericIpmi.inf                                      |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Smm/SmmGenericIpmi.inf                                      |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc                                                 |  90 ++------
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMemory.fdf                                                  |  16 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PreMemory.fdf                                                   |   6 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dsc                                                      |  18 ++
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFru/IpmiFru.inf                                                     |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/DxeIpmiInit.inf                                                |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/PeiIpmiInit.inf                                                |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBaseLib/IpmiBaseLib.inf                                     |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBaseLibNull/IpmiBaseLibNull.inf                             |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiCommandLib/IpmiCommandLib.inf                               |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiPlatformHookLibNull/IpmiPlatformHookLibNull.inf             |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/PeiIpmiBaseLib/PeiIpmiBaseLib.inf                               |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/SmmIpmiBaseLib/SmmIpmiBaseLib.inf                               |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/OsWdt/OsWdt.inf                                                         |   2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/SolStatus/SolStatus.inf                                                 |   2 +-
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/Library/SpcrDeviceLib.h                                         |   2 +-
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PostMemory.fdf                                                  |  13 ++
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PreMemory.fdf                                                   |  11 +
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/SpcrFeature.dsc                                                 |  62 ------
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Readme.md                                                               |  12 +-
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dec                                                      |   6 +
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dsc                                                      |  18 ++
 Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf                                                         |   2 +-
 Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc                                                         |  74 +------
 Features/Intel/PowerManagement/S3FeaturePkg/S3FeaturePkg.dsc                                                              |  18 ++
 Features/Intel/PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf                                                               |   2 +-
 Features/Intel/Readme.md                                                                                                  |  49 +++--
 Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf                                                  |   2 +-
 Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.dsc                                               |  54 +----
 Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf                                       |   2 +-
 Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec                                                    |  10 +-
 Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dsc                                                    |  18 ++
 Features/Intel/TemplateFeaturePkg/Include/TemplateFeature.dsc                                                             |   2 +-
 Features/Intel/TemplateFeaturePkg/TemplateFeaturePkg.dsc                                                                  |  18 ++
 Features/Intel/UserInterface/LogoFeaturePkg/Include/LogoFeature.dsc                                                       |  69 +-----
 Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dec                                                            |   2 -
 Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dsc                                                            |  38 +++-
 Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf                                                    |   6 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc                                               |  92 +-------
 Features/Intel/UserInterface/UserAuthFeaturePkg/Library/PlatformPasswordLibNull/PlatformPasswordLibNull.inf               |   2 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/Library/UserPasswordLib/UserPasswordLib.inf                               |   2 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/Library/UserPasswordUiLib/UserPasswordUiLib.inf                           |   2 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dsc                                                    |  18 ++
 Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dxe.inf                       |   2 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.inf                        |   2 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSmm.inf                        |   2 +-
 Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/PostMemory.fdf                                             |   2 +-
 Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/VirtualKeyboardFeature.dsc                                 |  64 +-----
 Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardFeaturePkg.dec                                      |   7 +-
 Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardFeaturePkg.dsc                                      |  18 ++
 Platform/Intel/{WhitleyOpenBoardPkg => MinPlatformPkg}/Include/Fdf/CommonSpiFvHeaderInfo.fdf                              |   2 +-
 Platform/Intel/WhitleyOpenBoardPkg/JunctionCity/PlatformPkg.fdf                                                           |  48 ++--
 Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc                                                                        |  44 ++++
 Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.fdf                                                                        |  54 ++---
 96 files changed, 1159 insertions(+), 1334 deletions(-)  create mode 100644 Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.fdf
 create mode 100644 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PostMemory.fdf
 create mode 100644 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PreMemory.fdf
 create mode 100644 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostMemory.fdf
 create mode 100644 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PreMemory.fdf
 create mode 100644 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PostMemory.fdf
 create mode 100644 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PreMemory.fdf
 rename Platform/Intel/{WhitleyOpenBoardPkg => MinPlatformPkg}/Include/Fdf/CommonSpiFvHeaderInfo.fdf (88%)

--
2.27.0.windows.1

^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 18/27] AcpiDebugFeaturePkg: Use MinPlatformPkg build include files
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 18/27] AcpiDebugFeaturePkg: Use MinPlatformPkg build include files Oram, Isaac W
  2022-01-13  2:47   ` Nate DeSimone
@ 2022-01-19 23:30   ` Nate DeSimone
  1 sibling, 0 replies; 86+ messages in thread
From: Nate DeSimone @ 2022-01-19 23:30 UTC (permalink / raw)
  To: devel@edk2.groups.io, Oram, Isaac W; +Cc: Dong, Eric, Gao, Liming

Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>

-----Original Message-----
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Oram, Isaac W
Sent: Tuesday, January 11, 2022 6:20 PM
To: devel@edk2.groups.io
Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Dong, Eric <eric.dong@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
Subject: [edk2-devel][edk2-platforms][PATCH V1 18/27] AcpiDebugFeaturePkg: Use MinPlatformPkg build include files

Use the MinPlatformPkg common core build files to build libraries needed by this feature.

Cc: Eric Dong <eric.dong@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dsc      | 21 ++++++
 Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc | 70 --------------------
 Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf       |  4 +-
 3 files changed, 23 insertions(+), 72 deletions(-)

diff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dsc b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dsc
index 62cc559d8f..3b76d39ea8 100644
--- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dsc
+++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.d
+++ sc
@@ -24,6 +24,27 @@
   PEI_ARCH                       = IA32
   DXE_ARCH                       = X64
 
+[Packages]
+  MinPlatformPkg/MinPlatformPkg.dec
+
+#
+# Since there are no 32b libraries or components in this package, these 
+PCD are specified for 64b only # [PcdsFeatureFlag.X64]
+  #
+  # PCD needed for MinPlatform build includes
+  #
+  gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable                |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable                   |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable                      |FALSE
+
+#
+# Include common libraries
+#
+!include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
+!include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
+!include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
+
 #
 # This package always builds the feature.
 #
diff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc
index b142978be1..f5b8bacee0 100644
--- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc
+++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeat
+++ ure.dsc
@@ -25,45 +25,6 @@
   !error "DXE_ARCH must be specified to build this feature!"
 !endif
 
-################################################################################
-#
-# Library Class section - list of all Library Classes needed by this feature.
-#
-################################################################################
-
-!include MdePkg/MdeLibs.dsc.inc
-
-[LibraryClasses]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
-  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
-  UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
-  UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
-  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
-  UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
-
-[LibraryClasses.common.DXE_DRIVER,LibraryClasses.common.DXE_RUNTIME_DRIVER]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-
-[LibraryClasses.common.DXE_SMM_DRIVER]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
-  MemoryAllocationLib|MdePkg/Library/SmmMemoryAllocationLib/SmmMemoryAllocationLib.inf
-  SmmServicesTableLib|MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.inf
-
 ################################################################################
 #
 # Component section - list of all components that need built for this feature.
@@ -78,22 +39,6 @@
 #       generated for it, but the binary will not be put into any firmware volume.
 #
 ################################################################################
-#
-# Feature PEI Components
-#
-
-# @todo: Change below line to [Components.$(PEI_ARCH)] after https://bugzilla.tianocore.org/show_bug.cgi?id=2308
-#        is completed.
-[Components.IA32]
-  #####################################
-  # ACPI Debug Feature Package
-  #####################################
-
-  # Add library instances here that are not included in package components and should be tested
-  # in the package build.
-
-  # Add components here that should be included in the package build.
-
 #
 # Feature DXE Components
 #
@@ -111,18 +56,3 @@
   # Add components here that should be included in the package build.
   AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf
   AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf
-
-###################################################################################################
-#
-# BuildOptions Section - Define the module specific tool chain flags that should be used as
-#                        the default flags for a module. These flags are appended to any
-#                        standard flags that are defined by the build process. They can be
-#                        applied for any modules or only those modules with the specific
-#                        module style (EDK or EDKII) specified in [Components] section.
-#
-#                        For advanced features, it is recommended to enable [BuildOptions] in
-#                        the applicable INF file so it does not affect the whole board package
-#                        build when this DSC file is active.
-#
-###################################################################################################
-[BuildOptions]
diff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf
index 84560dae50..855826292c 100644
--- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf
+++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fd
+++ f
@@ -7,5 +7,5 @@
 #
 ##
 
-  INF RuleOverride = DRIVER_ACPITABLE AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf
-  INF RuleOverride = DRIVER_ACPITABLE AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf
+INF RuleOverride = DRIVER_ACPITABLE 
+AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf
+INF RuleOverride = DRIVER_ACPITABLE 
+AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf
--
2.27.0.windows.1







^ permalink raw reply	[flat|nested] 86+ messages in thread

* Re: [edk2-devel][edk2-platforms][PATCH V1 01/27] BeepDebugFeaturePkg: Use MinPlatformPkg build include files
  2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 01/27] BeepDebugFeaturePkg: Use MinPlatformPkg build include files Oram, Isaac W
  2022-01-13  2:47   ` Nate DeSimone
@ 2022-01-19 23:30   ` Nate DeSimone
  1 sibling, 0 replies; 86+ messages in thread
From: Nate DeSimone @ 2022-01-19 23:30 UTC (permalink / raw)
  To: devel@edk2.groups.io, Oram, Isaac W
  Cc: Chaganty, Rangasai V, Gao, Liming, Dong, Eric, Tan, Ming

Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>

-----Original Message-----
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Oram, Isaac W
Sent: Tuesday, January 11, 2022 6:20 PM
To: devel@edk2.groups.io
Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Dong, Eric <eric.dong@intel.com>; Tan, Ming <ming.tan@intel.com>
Subject: [edk2-devel][edk2-platforms][PATCH V1 01/27] BeepDebugFeaturePkg: Use MinPlatformPkg build include files

The BeepDebugFeaturePkg was malformed and did not build anything and thus wasn't testable in standalone build.

Added gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable
to properly control the advanced feature inclusion.

Use the standard MinPlatform includes for core libraries. This increases the build time, but reduces complexity when integrating into a board build. Board build optimization is more valuable than standalone build optimization.

Enable standalone build to test the library build and the component builds using edk2 StatusCodeHandler drivers.

Add unique file names for the StatusCodeHandler components to avoid collisions with any existing board handlers when incorporated in board DSC and FDF files.

Add PreMemory.fdf and PostMemory.fdf content for including in board FDF or AdvancedFeaturePkg in the future.

Removed unused sections in DSC and FDF to reduce file clutter.

Removed stale file header content from prior proprietary licensing.

Moved feature customization and common include into the package DSC file to reduce board complexity when BeepDebugFeature.dsc is included.

Removed the FixedAtBuild build control for beep feature as it would be redundant with the FeatureFlag control of the whole feature. Build control is via PcdBeepDebugFeatureEnable and dynamic control is via PcdStatusCodeUseBeep.

Improved Readme content, format, and coding style use.

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Ming Tan <ming.tan@intel.com>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dec                                                 |   7 +-
 Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dsc                                                 |  28 +++
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc                                            | 222 ++++++--------------
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/Library/BeepLib.h                                               |   6 +-
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PostMemory.fdf                                                  |  14 ++
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PreMemory.fdf                                                   |  13 ++
 Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/PeiBeepStatusCodeHandlerLib.inf        |   5 +-
 Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf |   3 -
 Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/SmmBeepStatusCodeHandlerLib.inf        |   3 -
 Features/Intel/Debugging/BeepDebugFeaturePkg/Readme.md                                                               |  91 +++++---
 10 files changed, 186 insertions(+), 206 deletions(-)

diff --git a/Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dec b/Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dec
index 4f4b36b091..d90611da51 100644
--- a/Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dec
+++ b/Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.d
+++ ec
@@ -31,6 +31,9 @@
 [Guids]
   gBeepDebugFeaturePkgTokenSpaceGuid  =  {0x54f56fb5, 0xea0e, 0x4518, {0xa0, 0x3e, 0x1b, 0xeb, 0x56, 0x94, 0xd2, 0x16}}
 
-[PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]
+[PcdsFeatureFlag]
+  
+gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable|FALSE|BOOL
+EAN|0x00000000
+
+[PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]
   # Beep is a legacy feature, disabled it by default
-  gBeepDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUseBeep|FALSE|BOOLEAN|0x00000001
+  
+ gBeepDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUseBeep|TRUE|BOOLEAN|0
+ x00000001
diff --git a/Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dsc b/Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dsc
index 47254f9974..56cad020bf 100644
--- a/Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dsc
+++ b/Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.d
+++ sc
@@ -24,6 +24,34 @@
   PEI_ARCH                       = IA32
   DXE_ARCH                       = X64
 
+[Packages]
+  MinPlatformPkg/MinPlatformPkg.dec
+  BeepDebugFeaturePkg/BeepDebugFeaturePkg.dec
+
+[PcdsFeatureFlag]
+  #
+  # PCD needed for MinPlatform build includes
+  #
+  gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable                |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable                   |FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable                      |FALSE
+
+[PcdsDynamicExDefault]
+  gBeepDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUseBeep|TRUE
+
+#
+# Include common libraries
+#
+!include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
+!include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
+!include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
+
+[LibraryClasses.Common]
+  #
+  # Required by common status code handler infrastructure
+  #
+  
+PlatformHookLib|MdeModulePkg/Library/BasePlatformHookLibNull/BasePlatfo
+rmHookLibNull.inf
+
 #
 # This package always builds the feature.
 #
diff --git a/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc b/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc
index b24b3e458f..251de6932b 100644
--- a/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc
+++ b/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeat
+++ ure.dsc
@@ -18,97 +18,16 @@
 #
 ################################################################################
 [Defines]
-!ifndef $(PEI_ARCH)
-  !error "PEI_ARCH must be specified to build this feature!"
-!endif
-!ifndef $(DXE_ARCH)
-  !error "DXE_ARCH must be specified to build this feature!"
-!endif
-
-################################################################################
-#
-# PCD Section - list of PCD Entries modified by the feature.
-#
-################################################################################
-
-# Unmark the following and StatusCodeHandler.efi to build the .dsc file directly -#[PcdsDynamicDefault] -#  gBeepDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUseBeep|TRUE
-
-################################################################################
-#
-# Library Class section - list of all Library Classes needed by this feature.
-#
-################################################################################
-
-!include MdePkg/MdeLibs.dsc.inc
-
-[LibraryClasses]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
-  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
-  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-  PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
-  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
-  TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
-  UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
-  UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
-  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
-  UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
-  PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
-
-[LibraryClasses.common.PEIM]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
-  MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
-  PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
-
-[LibraryClasses.IA32.PEIM,LibraryClasses.IA32.PEI_CORE,LibraryClasses.IA32.SEC]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
-
-[LibraryClasses.common.DXE_DRIVER]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-
-[LibraryClasses.common.DXE_RUNTIME_DRIVER]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-  UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
-  ReportStatusCodeLib|MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportStatusCodeLib.inf
-
-[LibraryClasses.common.UEFI_DRIVER]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-
-[LibraryClasses.X64.DXE_SMM_DRIVER]
-  #######################################
-  # Edk2 Packages
-  #######################################
-  SmmServicesTableLib|MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.inf
-  MemoryAllocationLib|MdePkg/Library/SmmMemoryAllocationLib/SmmMemoryAllocationLib.inf
-  SmmIoLib|MdePkg/Library/SmmIoLib/SmmIoLib.inf
-  SmmMemLib|MdePkg/Library/SmmMemLib/SmmMemLib.inf
-  ReportStatusCodeLib|MdeModulePkg/Library/SmmReportStatusCodeLib/SmmReportStatusCodeLib.inf
+  !ifndef $(PEI_ARCH)
+    !error "PEI_ARCH must be specified to build this feature!"
+  !endif
+  !ifndef $(DXE_ARCH)
+    !error "DXE_ARCH must be specified to build this feature!"
+  !endif
+
+  DEFINE BEEP_PEIM_FILENAME  = b2356504-8ea3-42bd-912a-4b331990644a
+  DEFINE BEEP_DXE_FILENAME   = f1211fa9-d83d-4c79-8726-3afaebba1070
+  DEFINE BEEP_SMM_FILENAME   = a82cd452-0f17-4417-b8be-bb8cfdf9fa26
 
 ################################################################################
 #
@@ -128,77 +47,60 @@
 # Feature PEI Components
 #
 
-# @todo: Change below line to [Components.$(PEI_ARCH)] after https://bugzilla.tianocore.org/show_bug.cgi?id=2308
-#        is completed.
+#
+# By default, make the functional control a patcheable in module PCD # 
+[PcdsPatchableInModule]
+  gBeepDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUseBeep
+
+[LibraryClasses.Common]
+  BeepLib|Debugging/BeepDebugFeaturePkg/Library/BeepLib/BeepLibNull.inf
+  
+BeepMapLib|Debugging/BeepDebugFeaturePkg/Library/BeepMapLib/BeepMapLib.
+inf
+
+[LibraryClasses.PEIM, LibraryClasses.PEI_CORE]
+  
+StatusCodeHandlerLib|Debugging/BeepDebugFeaturePkg/Library/BeepStatusCo
+deHandlerLib/PeiBeepStatusCodeHandlerLib.inf
+
+[LibraryClasses.DXE_RUNTIME_DRIVER]
+  
+StatusCodeHandlerLib|Debugging/BeepDebugFeaturePkg/Library/BeepStatusCo
+deHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf
+
+[LibraryClasses.DXE_SMM_DRIVER]
+  
+StatusCodeHandlerLib|Debugging/BeepDebugFeaturePkg/Library/BeepStatusCo
+deHandlerLib/SmmBeepStatusCodeHandlerLib.inf
+
 [Components.IA32]
-  #####################################
-  # Beep Debug Feature Package
-  #####################################
 
-  # Add library instances here that are not included in package components and should be tested
-  # in the package build.
-  BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/PeiBeepStatusCodeHandlerLib.inf
+  MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf {
+    <Defines>
+      #
+      # Many boards already have StatusCodeHandler components built from the common core code
+      # Providing a unique name avoids collisions.  Both status code handler components will
+      # install their listeners with the status code routers.
+      #
+      FILE_GUID = $(BEEP_PEIM_FILENAME)
+    <LibraryClasses>
+      
+ NULL|Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/Pe
+ iBeepStatusCodeHandlerLib.inf
+  }
 
-  # The following is an example for used with StatusCodeHandler:
-# MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf {
-#   <LibraryClasses>
-#     OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
-#     SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf
-#     BeepLib|BeepDebugFeaturePkg/Library/BeepLib/BeepLibNull.inf
-#     BeepMapLib|BeepDebugFeaturePkg/Library/BeepMapLib/BeepMapLib.inf
-#     NULL|BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/PeiBeepStatusCodeHandlerLib.inf
-# }
-
-  # Add components here that should be included in the package build.
-
-#
-# Feature DXE Components
-#
-
-# @todo: Change below line to [Components.$(DXE_ARCH)] after https://bugzilla.tianocore.org/show_bug.cgi?id=2308
-#        is completed.
 [Components.X64]
-  #####################################
-  # Beep Debug Feature Package
-  #####################################
+  MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf {
+    <Defines>
+      #
+      # Many boards already have StatusCodeHandler components built from the common core code
+      # Providing a unique name avoids collisions.  Both status code handler components will
+      # install their listeners with the status code routers.
+      #
+      FILE_GUID = $(BEEP_DXE_FILENAME)
+    <LibraryClasses>
+      
+ NULL|Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/Ru
+ ntimeDxeBeepStatusCodeHandlerLib.inf
+  }
 
-  # Add library instances here that are not included in package components and should be tested
-  # in the package build.
-  BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf
-  BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/SmmBeepStatusCodeHandlerLib.inf
-
-  # The following is an example for used with StatusCodeHandler:
-# MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf {
-#   <LibraryClasses>
-#     OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
-#     SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf
-#     BeepLib|BeepDebugFeaturePkg/Library/BeepLib/BeepLibNull.inf
-#     BeepMapLib|BeepDebugFeaturePkg/Library/BeepMapLib/BeepMapLib.inf
-#     NULL|BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf
-# }
-
-# MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerSmm.inf {
-#   <LibraryClasses>
-#     OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
-#     SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf
-#     BeepLib|BeepDebugFeaturePkg/Library/BeepLib/BeepLibNull.inf
-#     BeepMapLib|BeepDebugFeaturePkg/Library/BeepMapLib/BeepMapLib.inf
-#     NULL|BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/SmmBeepStatusCodeHandlerLib.inf
-# }
-
-  # Add components here that should be included in the package build.
-
-###################################################################################################
-#
-# BuildOptions Section - Define the module specific tool chain flags that should be used as
-#                        the default flags for a module. These flags are appended to any
-#                        standard flags that are defined by the build process. They can be
-#                        applied for any modules or only those modules with the specific
-#                        module style (EDK or EDKII) specified in [Components] section.
-#
-#                        For advanced features, it is recommended to enable [BuildOptions] in
-#                        the applicable INF file so it does not affect the whole board package
-#                        build when this DSC file is active.
-#
-###################################################################################################
-[BuildOptions]
+  MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerSmm.inf {
+    <Defines>
+      #
+      # Many boards already have StatusCodeHandler components built from the common core code
+      # Providing a unique name avoids collisions.  Both status code handler components will
+      # install their listeners with the status code routers.
+      #
+      FILE_GUID = $(BEEP_SMM_FILENAME)
+    <LibraryClasses>
+      
+ NULL|Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/Sm
+ mBeepStatusCodeHandlerLib.inf
+  }
diff --git a/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/Library/BeepLib.h b/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/Library/BeepLib.h
index f768acc557..0b8f71b097 100644
--- a/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/Library/BeepLib.h
+++ b/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/Library/BeepL
+++ ib.h
@@ -15,12 +15,12 @@
   Sends the 32-bit value specified by Value to Beep device, and returns Value.
   Some implementations of this library function may perform I/O operations
   directly to Beep device.  Other implementations may send Value to
-  ReportStatusCode(), and the status code reporting mechanism will eventually
+  ReportStatusCode (), and the status code reporting mechanism will 
+ eventually
   display the 32-bit value on the status reporting device.
 
-  Beep() must actively prevent recursion.  If Beep() is called while
+  Beep () must actively prevent recursion.  If Beep () is called while
   processing another Post Code Library function, then
-  Beep() must return Value immediately.
+  Beep () must return Value immediately.
 
   @param  Value  Beep count.
 **/
diff --git a/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PostMemory.fdf b/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PostMemory.fdf
new file mode 100644
index 0000000000..447fb88235
--- /dev/null
+++ b/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PostMemory.fd
+++ f
@@ -0,0 +1,14 @@
+## @file
+#  FDF file for post-memory BeepDebugFeature advanced feature.
+#
+#  This file is intended to be included into another package so 
+advanced features #  can be conditionally included in the flash image 
+by enabling the respective #  feature via its FeaturePCD.
+#
+# Copyright (C) 2022 Intel Corporation.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent ##
+
+INF FILE_GUID = $(BEEP_DXE_FILENAME) 
+MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRu
+ntimeDxe.inf INF FILE_GUID = $(BEEP_SMM_FILENAME) 
+MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerSmm.inf
diff --git a/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PreMemory.fdf b/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PreMemory.fdf
new file mode 100644
index 0000000000..160f5e3ffd
--- /dev/null
+++ b/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PreMemory.fdf
@@ -0,0 +1,13 @@
+## @file
+#  FDF file for pre-memory BeepDebugFeature advanced feature.
+#
+#  This file is intended to be included into another package so 
+advanced features #  can be conditionally included in the flash image 
+by enabling the respective #  feature via its FeaturePCD.
+#
+# Copyright (C) 2022 Intel Corporation.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent ##
+
+INF FILE_GUID = $(BEEP_PEIM_FILENAME) 
+MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf
diff --git a/Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/PeiBeepStatusCodeHandlerLib.inf b/Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/PeiBeepStatusCodeHandlerLib.inf
index 421b246663..5be78a72e8 100644
--- a/Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/PeiBeepStatusCodeHandlerLib.inf
+++ b/Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCod
+++ eHandlerLib/PeiBeepStatusCodeHandlerLib.inf
@@ -4,9 +4,6 @@
 # Copyright (c) 2010 - 2020, Intel Corporation. All rights reserved.<BR>  # SPDX-License-Identifier: BSD-2-Clause-Patent  # -# vendor.  This file may not be modified, except as allowed by -# additional terms of your license agreement.
-#
 ##
 
 [Defines]
@@ -15,7 +12,7 @@
   FILE_GUID                      = C4210E71-0A38-4728-8D25-4876348AA380
   MODULE_TYPE                    = PEIM
   CONSTRUCTOR                    = PeiBeepStatusCodeHandlerLibConstructor
-  LIBRARY_CLASS                  = StatusCodeHandlerLib|SEC PEIM PEI_COR
+  LIBRARY_CLASS                  = StatusCodeHandlerLib|SEC PEIM PEI_CORE
 
 #
 # The following information is for reference only and not required by the build tools.
diff --git a/Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf b/Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf
index b9aae39128..2343e35a78 100644
--- a/Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf
+++ b/Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCod
+++ eHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf
@@ -4,9 +4,6 @@
 # Copyright (c) 2010 - 2020, Intel Corporation. All rights reserved.<BR>  # SPDX-License-Identifier: BSD-2-Clause-Patent  # -# vendor.  This file may not be modified, except as allowed by -# additional terms of your license agreement.
-#
 ##
 
 [Defines]
diff --git a/Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/SmmBeepStatusCodeHandlerLib.inf b/Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/SmmBeepStatusCodeHandlerLib.inf
index caa82264ae..4db1748fe3 100644
--- a/Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/SmmBeepStatusCodeHandlerLib.inf
+++ b/Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCod
+++ eHandlerLib/SmmBeepStatusCodeHandlerLib.inf
@@ -4,9 +4,6 @@
 # Copyright (c) 2010 - 2020, Intel Corporation. All rights reserved.<BR>  # SPDX-License-Identifier: BSD-2-Clause-Patent  # -# vendor.  This file may not be modified, except as allowed by -# additional terms of your license agreement.
-#
 ##
 
 [Defines]
diff --git a/Features/Intel/Debugging/BeepDebugFeaturePkg/Readme.md b/Features/Intel/Debugging/BeepDebugFeaturePkg/Readme.md
index ee254d0f99..6626c9b764 100644
--- a/Features/Intel/Debugging/BeepDebugFeaturePkg/Readme.md
+++ b/Features/Intel/Debugging/BeepDebugFeaturePkg/Readme.md
@@ -6,25 +6,29 @@
 More Information:
 
 ## Purpose
-The BeepDebugFeaturePkg include some useful beep debug libraries, such as get beep value from status code and beep.
-This is an important capability in firmware development to get and analyze the early error when there is not serial port.
+Very often it is necessary to debug very close to the reset vector or in production systems that lack serial ports, seven segment displays, or useful LED that are typically used to output useful debug messages.
 
+The BeepDebugFeaturePkg includes some useful beep focused debug libraries.
+
+This isn't intended for production use.
+
+There is not currently seamless integration into the SecCore component that handles the reset vector. In order to debug that early, it will be necessary to use the BeepLib directly in SEC code.
 
 # High-Level Theory of Operation
-It provide a library BeepStatusCodeHandlerLib used by edk2 StatusCodeHandler.efi, used to do beep if needed.
-It also provide a library of BeepMap lib, it map the status code to beep value.
+It provides a library, BeepStatusCodeHandlerLib, used by edk2 StatusCodeHandler.efi, used to do beep if needed.
+It also provide a library of BeepMap lib which maps the status code to a beep value.
 A library of Beep lib is needed by platform, and this pkg has a Null implementation.
 
-In the library contstructor function, BeepStatusCodeHandlerLib register the call back function for ReportStatusCode.
-When called, it call GetBeepFromStatusCode() in BeepMapLib to get beep value from status code, and call Beep() in BeepLib to beep.
+In the library contstructor function, BeepStatusCodeHandlerLib registers the call back function for ReportStatusCode. When called, it calls GetBeepFromStatusCode (); in BeepMapLib to get beep value from status code, and calls Beep () in BeepLib to beep a speaker.
 
-BeepStatusCodeHandlerLib include 3 libraries for PEI, RuntimeDxe, SMM:
+BeepStatusCodeHandlerLib includes three libraries for PEI, RuntimeDxe, and SMM:
 * PeiBeepStatusCodeHandlerLib
 * RuntimeDxeBeepStatusCodeHandlerLib
 * SmmBeepStatusCodeHandlerLib
 
 ## Firmware Volumes
-Linked with StatusCodeHandler.efi, and make sure put the StatusCodeHandler.efi after the ReportStatusCodeRouter.efi.
+These libraries need to be linked into StatusCodeHandler components.
+Make sure one puts the StatusCodeHandler.efi after the ReportStatusCodeRouter.efi.
 
 ## Modules
 * BeepStatusCodeHandlerLib
@@ -32,13 +36,17 @@ Linked with StatusCodeHandler.efi, and make sure put the StatusCodeHandler.efi a
 * BeepLibNull
 
 ## BeepStatusCodeHandlerLib
-This library register the call back function for ReportStatusCode, and get beep valude from status code, and do beep.
+This library registers the callback function for ReportStatusCode, gets beep value from status code, and does the beep.
 
 ## BeepMapLib
-This library provide a function to get beep value from status code.
+This library provides a function to get a beep value for a status code.
+
+## BeepLibNull
+This library provide a function to perform the beep.
 
 ## Key Functions
 * In PeiBeepStatusCodeHandlerLib:
+```
   EFI_STATUS
   EFIAPI
   BeepStatusCodeReportWorker (
@@ -49,8 +57,10 @@ This library provide a function to get beep value from status code.
     IN CONST EFI_GUID                 *CallerId,
     IN CONST EFI_STATUS_CODE_DATA     *Data OPTIONAL
   )
+```
 
 * In RuntimeDxeBeepStatusCodeHandlerLib:
+```
   EFI_STATUS
   EFIAPI
   BeepStatusCodeReportWorker (
@@ -60,8 +70,10 @@ This library provide a function to get beep value from status code.
     IN EFI_GUID                       *CallerId,
     IN EFI_STATUS_CODE_DATA           *Data OPTIONAL
   )
+```
 
 * In SmmBeepStatusCodeHandlerLib:
+```
   EFI_STATUS
   EFIAPI
   BeepStatusCodeReportWorker (
@@ -71,55 +83,72 @@ This library provide a function to get beep value from status code.
     IN EFI_GUID                       *CallerId,
     IN EFI_STATUS_CODE_DATA           *Data OPTIONAL
     )
+```
 
 * In BeepMapLib:
+```
   UINT32
   EFIAPI
   GetBeepValueFromStatusCode (
     IN EFI_STATUS_CODE_TYPE           CodeType,
     IN EFI_STATUS_CODE_VALUE          Value
-  )
+    )
+```
 
 * In BeepLib:
+```
   VOID
   EFIAPI
   Beep (
     IN UINT32  Value
-  )
+    )
+```
 
 ## Configuration
-* Link the library to StatusCodeHandler.efi.
-  Example:
-    MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf {
-    <LibraryClasses>
-      NULL|BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf
-    }
-  Refer to BeepDebugFeature.dsc for other example.
-* Config PCD gBeepDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUseBeep.
-  In platform .dsc file, need to config the type of gBeepDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUseBeep.
-  Use PcdsFixedAtBuild to save binary size, and use PcdsDynamic if want to enable/disable in runtime.
-* Implemented platform's special BeepMapLib if needed.
-* Provide the platform's special BeepLib.
-* Make sure put the StatusCodeHandler.efi after the ReportStatusCodeRouter.efi.
+* Configure PCD gBeepDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUseBeep.
+  In board DSC file, the board developer needs to configure the type of gBeepDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUseBeep control desired.
+  [PcdsFixedAtBuild] is the feature default value as this has lowest size.
+  [PcdsDynamicExDefault] is the most common configuration as it provides dynamic control during debugging.
+* Implemented board specific BeepMapLib if custom status code to beep code mapping as needed.
+* Provide the board specific BeepLib to perform beeps on the board specific hardware.
+```The default library does not cause any hardware to beep```
 
 ## Data Flows
 Status Code (ReportStatusCode) -> Beep Value (GetBeepValueFromStatusCode).
 
 ## Control Flows
-ReportStatusCode() -> BeepStatusCodeReportWorker() -> GetBeepValueFromStatusCode() -> Beep()
+ReportStatusCode () -> BeepStatusCodeReportWorker () -> 
+GetBeepValueFromStatusCode () -> Beep ()
 
 ## Build Flows
-There is not special build flows.
+Standalone build
+* build -a IA32 -a X64 -p 
+Debugging\BeepDebugFeaturePkg\BeepDebugFeaturePkg.dsc
 
+AdvanceFeaturePkg build
+* build -a IA32 -a X64 -p AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
 ## Test Point Results
-Verify the post code shown is correct.
+None
 
 ## Functional Exit Criteria
 N/A
 
 ## Feature Enabling Checklist
-* Set the PCD gBeepDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUseBeep to TRUE.
-* Plug out all the memory, check can here the beep.
+* Verify in board DSC file that 
+gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable set to 
+TRUE
+* Verify board specific BeepLib implemented and included in board DSC file.
+* Verify that the board has a PlatformHookLib instance.  There is a 
+null library implementation if needed ```
+      
+PlatformHookLib|MdeModulePkg/Library/BasePlatformHookLibNull/BasePlatfo
+rmHookLibNull.inf
+```
+* Verify that your board has the StatusCodeHandler components (PEIM or driver) desired.
+```
+  Example:
+    MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf {
+    <LibraryClasses>
+      NULL|BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf
+    }
+  There are default StatusCodeHandlers for PEI, RT, and SMM in BeepDebugFeaturePkg/Include in PreMemory.fdf and PostMemory.fdf for use.  But most boards will already have these components and you will just want to add the appropriate *StatusCodeHandlerLib.inf to each component.
+```
+* Build
+* Remove all the memory from the system and verify audible beep is heard when attempting to boot.
 
 ## Common Optimizations
-* Implemented platform's special BeepMapLib if needed.
+N/A
--
2.27.0.windows.1







^ permalink raw reply related	[flat|nested] 86+ messages in thread

end of thread, other threads:[~2022-01-19 23:31 UTC | newest]

Thread overview: 86+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-01-12  2:20 [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency Oram, Isaac W
2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 01/27] BeepDebugFeaturePkg: Use MinPlatformPkg build include files Oram, Isaac W
2022-01-13  2:47   ` Nate DeSimone
2022-01-19 23:30   ` Nate DeSimone
2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 02/27] BeepDebugFeaturePkg: Fix all relative package paths Oram, Isaac W
2022-01-13  2:47   ` Nate DeSimone
2022-01-14  5:27   ` Chaganty, Rangasai V
2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 03/27] AcpiDebugFeaturePkg: " Oram, Isaac W
2022-01-13  2:48   ` Nate DeSimone
2022-01-14  5:18   ` Chaganty, Rangasai V
2022-01-18 22:59     ` Oram, Isaac W
2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 04/27] IpmiFeaturePkg: " Oram, Isaac W
2022-01-13  2:48   ` Nate DeSimone
2022-01-19  0:02     ` Oram, Isaac W
2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 05/27] IpmiFeaturePkg: Fix build errors Oram, Isaac W
2022-01-13  2:48   ` Nate DeSimone
2022-01-18 23:38     ` Oram, Isaac W
2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 06/27] S3FeaturePkg: Fix all relative package paths Oram, Isaac W
2022-01-13  2:48   ` Nate DeSimone
2022-01-14  5:19   ` Chaganty, Rangasai V
2022-01-19  1:11     ` Oram, Isaac W
2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 07/27] S3FeaturePkg: Use MinPlatformPkg build include files Oram, Isaac W
2022-01-13  2:49   ` Nate DeSimone
2022-01-14  5:29   ` Chaganty, Rangasai V
2022-01-19  1:26     ` Oram, Isaac W
2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 08/27] SmbiosFeaturePkg: Fix all relative package paths Oram, Isaac W
2022-01-13  2:49   ` Nate DeSimone
2022-01-14  5:31   ` Chaganty, Rangasai V
2022-01-19  1:40     ` Oram, Isaac W
2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 09/27] SmbiosFeaturePkg: Use MinPlatformPkg build include files Oram, Isaac W
2022-01-13  2:49   ` Nate DeSimone
2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 10/27] UserAuthFeaturePkg: Fix all relative package paths Oram, Isaac W
2022-01-13  2:49   ` Nate DeSimone
2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 11/27] UserAuthFeaturePkg: Use MinPlatformPkg build include files Oram, Isaac W
2022-01-13  2:49   ` Nate DeSimone
2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 12/27] VirtualKeyboardFeaturePkg: Fix all relative package paths Oram, Isaac W
2022-01-13  2:49   ` Nate DeSimone
2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 13/27] VirtualKeyboardFeaturePkg: Use MinPlatformPkg build include files Oram, Isaac W
2022-01-13  2:49   ` Nate DeSimone
2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 14/27] VirtualKeyboardFeaturePkg: Add feature enable PCD Oram, Isaac W
2022-01-13  2:49   ` Nate DeSimone
2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 15/27] NetworkFeaturePkg: Use MinPlatformPkg build include files Oram, Isaac W
2022-01-13  2:49   ` Nate DeSimone
2022-01-14  5:57   ` Chaganty, Rangasai V
2022-01-19  2:31     ` Oram, Isaac W
2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 16/27] LogoFeaturePkg: " Oram, Isaac W
2022-01-13  2:49   ` Nate DeSimone
2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 17/27] PostCodeDebugFeaturePkg: Complete as an advanced feature Oram, Isaac W
2022-01-13  2:48   ` Nate DeSimone
2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 18/27] AcpiDebugFeaturePkg: Use MinPlatformPkg build include files Oram, Isaac W
2022-01-13  2:47   ` Nate DeSimone
2022-01-19 23:30   ` Nate DeSimone
2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 19/27] Usb3DebugFeaturePkg: Align with feature design guidelines Oram, Isaac W
2022-01-13  2:47   ` Nate DeSimone
2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 20/27] SpcrFeaturePkg: Use MinPlatform build include files Oram, Isaac W
2022-01-13  2:50   ` Nate DeSimone
2022-01-14  6:10   ` Chaganty, Rangasai V
2022-01-19 19:09     ` Oram, Isaac W
2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 21/27] TemplateFeaturePkg: " Oram, Isaac W
2022-01-13  2:50   ` Nate DeSimone
2022-01-14  6:05   ` Chaganty, Rangasai V
2022-01-19 19:13     ` Oram, Isaac W
2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 22/27] AdvancedFeaturePkg: Fix all relative package paths Oram, Isaac W
2022-01-13  2:50   ` Nate DeSimone
2022-01-14  5:39   ` Chaganty, Rangasai V
2022-01-19 19:17     ` Oram, Isaac W
2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 23/27] AdvancedFeaturePkg: Add missing features Oram, Isaac W
2022-01-13  2:50   ` Nate DeSimone
2022-01-14  5:36   ` Chaganty, Rangasai V
2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 24/27] MinPlatformPkg/Build: Add an include file for the common SPI FV info Oram, Isaac W
2022-01-13  2:50   ` Nate DeSimone
2022-01-14  6:02   ` Chaganty, Rangasai V
2022-01-19 19:20     ` Oram, Isaac W
2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 25/27] WhitleyOpenBoardPkg/Build: Use common SPI FV Header include Oram, Isaac W
2022-01-13  2:50   ` Nate DeSimone
2022-01-19 19:34     ` Oram, Isaac W
2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 26/27] AdvancedFeaturePkg/Build: Add FDF to create FV for all features Oram, Isaac W
2022-01-13  2:47   ` Nate DeSimone
2022-01-12  2:20 ` [edk2-devel][edk2-platforms][PATCH V1 27/27] WhitleyOpenBoardPkg/Build: Enable Features/Intel features Oram, Isaac W
2022-01-13  2:51   ` Nate DeSimone
2022-01-13  2:47 ` [edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency Nate DeSimone
2022-01-13  3:15   ` Oram, Isaac W
2022-01-13  3:52     ` Nate DeSimone
2022-01-13  3:53     ` Nate DeSimone
2022-01-13 19:33       ` Oram, Isaac W
2022-01-19 23:30         ` Nate DeSimone

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox