[edk2-devel] [edk2-platforms][PATCH V1 1/1] Maintainers.txt: Remove Intel maintainer

2020-01-30 Thread Kubacki, Michael A
Removes Michael Kubacki as an Intel maintainer.

Cc: Prince Agyeman 
Cc: Sai Chaganty 
Cc: Chasel Chiu 
Cc: Nate DeSimone 
Cc: Liming Gao 
Signed-off-by: Michael Kubacki 
---
 Maintainers.txt | 6 --
 1 file changed, 6 deletions(-)

diff --git a/Maintainers.txt b/Maintainers.txt
index e97ea5b343..c1b9212496 100644
--- a/Maintainers.txt
+++ b/Maintainers.txt
@@ -126,7 +126,6 @@ R: Ard Biesheuvel 
 
 Features/Intel
 F: Features/Intel/
-M: Michael Kubacki 
 M: Sai Chaganty 
 R: Liming Gao 
 
@@ -158,7 +157,6 @@ R: Liming Gao 
 Platform/Intel/KabylakeOpenBoardPkg
 F: Platform/Intel/KabylakeOpenBoardPkg/
 M: Chasel Chiu 
-M: Michael Kubacki 
 M: Nate DeSimone 
 
 Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3
@@ -167,7 +165,6 @@ R: Jeremy Soller 
 
 Platform/Intel/MinPlatformPkg
 F: Platform/Intel/MinPlatformPkg/
-M: Michael Kubacki 
 M: Chasel Chiu 
 M: Nate DeSimone 
 R: Liming Gao 
@@ -175,7 +172,6 @@ R: Liming Gao 
 Platform/Intel/WhiskeylakeOpenBoardPkg
 F: Platform/Intel/WhiskeylakeOpenBoardPkg/
 M: Chasel Chiu 
-M: Michael Kubacki 
 M: Nate DeSimone 
 
 Platform/Intel/SimicsOpenBoardPkg
@@ -205,13 +201,11 @@ M: Yi Qian 
 Silicon/Intel/CoffeelakeSiliconPkg
 F: Silicon/Intel/CoffeelakeSiliconPkg/
 M: Chasel Chiu 
-M: Michael Kubacki 
 M: Sai Chaganty 
 
 Silicon/Intel/KabylakeSiliconPkg
 F: Silicon/Intel/KabylakeSiliconPkg/
 M: Chasel Chiu 
-M: Michael Kubacki 
 M: Sai Chaganty 
 
 Silicon/Intel/SimicsX58SktPkg
-- 
2.16.2.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#53591): https://edk2.groups.io/g/devel/message/53591
Mute This Topic: https://groups.io/mt/70417419/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel] [edk2-platforms] [PATCH] BoardModulePkg: Fix ECC Coding Style Issues

2020-01-29 Thread Kubacki, Michael A
The copyright dates needed to be updated to 2020. I updated those locally 
before being pushed.

Reviewed-by: Michael Kubacki 

Thanks,
Michael

> -Original Message-
> From: Agyeman, Prince 
> Sent: Tuesday, January 14, 2020 9:28 AM
> To: devel@edk2.groups.io
> Cc: Zhang, Shenglei ; Chiu, Chasel
> ; Desimone, Nathaniel L
> ; Kubacki, Michael A
> 
> Subject: [edk2-platforms] [PATCH] BoardModulePkg: Fix ECC Coding Style
> Issues
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2453
> 
> Fixed coding style issues as reported by the ECC tool
> 
> Cc: Shenglei Zhang 
> Cc: Chasel Chiu 
> Cc: Nate DeSimone 
> Cc: Michael Kubacki 
> 
> Signed-off-by: Prince Agyeman 
> ---
>  .../BoardModulePkg/LegacySioDxe/ComponentName.h   |  5 +
>  .../BoardModulePkg/LegacySioDxe/LegacySioDxe.inf  |  2 ++
>  .../Intel/BoardModulePkg/LegacySioDxe/SioChip.c   |  5 +++--
>  .../Intel/BoardModulePkg/LegacySioDxe/SioDriver.c | 15 ---
>  .../Library/BdsPs2KbcLib/BdsPs2KbcLib.c   |  6 +++---
>  .../Library/BdsPs2KbcLib/BdsPs2KbcLib.h   |  4 ++--
>  6 files changed, 23 insertions(+), 14 deletions(-)
> 
> diff --git
> a/Platform/Intel/BoardModulePkg/LegacySioDxe/ComponentName.h
> b/Platform/Intel/BoardModulePkg/LegacySioDxe/ComponentName.h
> index 85ca348701..91bc245f3a 100644
> --- a/Platform/Intel/BoardModulePkg/LegacySioDxe/ComponentName.h
> +++ b/Platform/Intel/BoardModulePkg/LegacySioDxe/ComponentName.h
> @@ -6,6 +6,9 @@
>SPDX-License-Identifier: BSD-2-Clause-Patent  **/
> 
> +#ifndef _LEGACY_SIO_DXE_COMPONENT_NAME_H_ #define
> +_LEGACY_SIO_DXE_COMPONENT_NAME_H_
> +
>  /**
>Retrieves a Unicode string that is the user-readable name of the EFI 
> Driver.
> 
> @@ -85,3 +88,5 @@ SioComponentNameGetControllerName (
>IN  CHAR8 *Language,
>OUT CHAR16**ControllerName
>);
> +
> +#endif
> diff --git a/Platform/Intel/BoardModulePkg/LegacySioDxe/LegacySioDxe.inf
> b/Platform/Intel/BoardModulePkg/LegacySioDxe/LegacySioDxe.inf
> index 1d7cd92604..698d406450 100644
> --- a/Platform/Intel/BoardModulePkg/LegacySioDxe/LegacySioDxe.inf
> +++ b/Platform/Intel/BoardModulePkg/LegacySioDxe/LegacySioDxe.inf
> @@ -44,6 +44,8 @@
>SioDriver.c
>SioDriver.h
>ComponentName.c
> +  ComponentName.h
> +  Register.h
> 
>  [Pcd]
>gBoardModulePkgTokenSpaceGuid.PcdPs2KbMsEnable
> diff --git a/Platform/Intel/BoardModulePkg/LegacySioDxe/SioChip.c
> b/Platform/Intel/BoardModulePkg/LegacySioDxe/SioChip.c
> index b9a84ca51c..846dddf739 100644
> --- a/Platform/Intel/BoardModulePkg/LegacySioDxe/SioChip.c
> +++ b/Platform/Intel/BoardModulePkg/LegacySioDxe/SioChip.c
> @@ -145,7 +145,7 @@ DEVICE_INFOmDeviceInfo[] = {
> 
> 
>  /**
> -  Gets the number of devices in Table of SIO Controllers mDeviceInfo
> +  Gets the number of devices in Table of SIO Controllers mDeviceInfo.
> 
>@retval Number of enabled devices in Table of SIO Controllers.
>  **/
> @@ -153,7 +153,8 @@ UINTN
>  EFIAPI
>  GetDeviceCount (
>VOID
> -){
> +  )
> +{
> UINTNCount;
> // Get mDeviceInfo item count
> // -1 to account for for the end device info diff --git
> a/Platform/Intel/BoardModulePkg/LegacySioDxe/SioDriver.c
> b/Platform/Intel/BoardModulePkg/LegacySioDxe/SioDriver.c
> index 5bfdc94681..484c53e953 100644
> --- a/Platform/Intel/BoardModulePkg/LegacySioDxe/SioDriver.c
> +++ b/Platform/Intel/BoardModulePkg/LegacySioDxe/SioDriver.c
> @@ -118,13 +118,14 @@ BOOLEAN
>  EFIAPI
>  SioDeviceEnabled (
>IN SIO_PCI_ISA_BRIDGE_DEVICE_INFO *CurrentDevice -){
> -SIO_PCI_ISA_BRIDGE_DEVICE_INFO *Device = \
> -  (SIO_PCI_ISA_BRIDGE_DEVICE_INFO *) FixedPcdGetPtr
> (PcdSuperIoPciIsaBridgeDevice);
> -if(CompareMem (Device, CurrentDevice, sizeof
> (SIO_PCI_ISA_BRIDGE_DEVICE_INFO)) == 0) {
> -  return TRUE;
> -}
> -return FALSE;
> +  )
> +{
> +  SIO_PCI_ISA_BRIDGE_DEVICE_INFO *Device;
> +  Device = (SIO_PCI_ISA_BRIDGE_DEVICE_INFO *) FixedPcdGetPtr
> +(PcdSuperIoPciIsaBridgeDevice);
> +  if(CompareMem (Device, CurrentDevice, sizeof
> (SIO_PCI_ISA_BRIDGE_DEVICE_INFO)) == 0) {
> +return TRUE;
> +  }
> +  return FALSE;
>  }
> 
>  /**
> diff --git
> a/Platform/Intel/BoardModulePkg/Library/BdsPs2KbcLib/BdsPs2KbcLib.c
> b/Platform/Intel/BoardModulePkg/Library/BdsPs2KbcLib/BdsPs2KbcLib.c
> index eff10bddb4..0cf4c4d262 100644
> --- a/Platform/Intel/BoardModulePkg/Library/BdsPs2KbcLib/BdsPs2KbcLib.c
> +++
> b/Platform/Intel/BoardModulePkg/Library/BdsPs2KbcLib/BdsPs2KbcLib.c
> @@ -65,7 +65,7 @@ DetectPs2Keyboard (
>  MicroSecondDelay (30);
>}

[edk2-devel] [tianocore-docs][PATCH V1 1/1] edk2-MinimumPlatformSpecification: Advanced Feature section updates

2020-01-28 Thread Kubacki, Michael A
This change makes the following updates to Section 8 - Stage VI
Advanced Feature Selection:

* Remove the advanced feature template
  * This is no longer provided in the specification but maintained
in the Readme.md file in edk2-platforms/Features/Intel/Readme.md

* Remove the following advanced feature examples:
  1. Network stack feature
  2. Signed capsule update feature

  * These examples are maintained in edk2-platforms/Features/Intel

* Update the Advanced Feature description in Section 8.1 to align
  with the description in edk2-platforms/Features/Intel/Readme.md

Cc: Sai Chaganty 
Cc: Nate DeSimone 
Signed-off-by: Michael Kubacki 
---
 8_stage_6_advanced_feature_selection/85_advanced_feature_template.md   
   |  54 
 8_stage_6_advanced_feature_selection/86_network_stack_feature_example.md   
   | 136 ---
 
8_stage_6_advanced_feature_selection/87_signed_capsule_update_enabling_example.md
 | 137 
 8_stage_6_advanced_feature_selection/README.md 
   | 113 
 SUMMARY.md 
   |   3 -
 5 files changed, 25 insertions(+), 418 deletions(-)

diff --git 
a/8_stage_6_advanced_feature_selection/85_advanced_feature_template.md 
b/8_stage_6_advanced_feature_selection/85_advanced_feature_template.md
deleted file mode 100644
index 428c731..000
--- a/8_stage_6_advanced_feature_selection/85_advanced_feature_template.md
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-## 8.5 Advanced Feature Template
-
-Define an advanced feature using the following template. The template is
-roughly equivalent to preceding stage description sections within this
-document, with the addition of common optimization opportunities. This
-template should be included in feature review and placed in the feature
-root directory as README.md.
-
-| `Overview` | `An overview of the feature`

 |
-| -- | 

 |
-| **Firmware Volumes**   | The binary containers needed for the 
feature.
|
-| **Modules**| The EDK II component binaries and static 
libraries required. 
|
-| **Required Functions** | Functions that are useful for 
understanding, porting, or debugging the feature and how these key functions 
are integrated into the Stage I-V required functions. |
-| **Configuration**  | The configurable parameters for a given 
feature.
 |
-| **Data Flows** | The architecturally defined data structures 
and flows for a given feature.  
 |
-| **Control Flows**  | Key control flows for the feature.  

 |
-| **Build Files**| The DSC/FDF for integrating the feature.

 |
-| **Test Point Results** | The test that can verify porting is 
complete for the feature.   
 |
-| **Functional Exit Criteria**   | The testable functionality for the feature. 

 |
-| **Feature Enabling Checklist** | The required activities to achieve desired 
functionality for the feature.  
  |
-| **Common Optimizations**   | Common size or performance tuning options 
for this feature.   
   |
-
-## Table 70 Advanced Feature Template
diff --git 
a/8_stage_6_advanced_feature_selection/86_network_stack_feature_example.md 
b/8_stage_6_advanced_feature_selection/86_network_stack_feature_example.md
deleted file mode 100644
index a4d6ddd..000
--- a/8_stage_6_advanced_feature_selection/86_network_stack_feature_example.md
+++ /dev/null
@@ -1,136 +0,0 @@
-
-
-## 8.6 Network Stack Feature Example
-***
-**Note:** The network stack example is presently incomplete and
-no 

[edk2-devel] [tianocore-docs][PATCH V1 1/1] edk2-MinimumPlatformSpecification: Add FvAdvancedPreMemory

2020-01-28 Thread Kubacki, Michael A
Adds FvAdvancedPreMemory as a Stage VI firmware volume.

Cc: Sai Chaganty 
Cc: Nate DeSimone 
Signed-off-by: Michael Kubacki 
---
 8_stage_6_advanced_feature_selection/82_firmware_volumes.md |  27 ++-
 8_stage_6_advanced_feature_selection/83_configuration.md|  12 +-
 appendix_a_full_maps/a1_firmware_volume_layout.md   | 202 
++--
 3 files changed, 126 insertions(+), 115 deletions(-)

diff --git a/8_stage_6_advanced_feature_selection/82_firmware_volumes.md 
b/8_stage_6_advanced_feature_selection/82_firmware_volumes.md
index 91cce9c..5d7608d 100644
--- a/8_stage_6_advanced_feature_selection/82_firmware_volumes.md
+++ b/8_stage_6_advanced_feature_selection/82_firmware_volumes.md
@@ -1,7 +1,7 @@
 

[edk2-devel] [edk2-platforms][PATCH V1 1/1] Features/Intel: Add a Performance Impact section to Readme.md files

2020-01-27 Thread Kubacki, Michael A
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2417

Performance impact is an important consideration for feature
integration. This new section captures the general expectation
for overall boot performance impact due to using an advanced
feature.

Cc: Dandan Bi 
Cc: Sai Chaganty 
Cc: Chasel Chiu 
Cc: Nate DeSimone 
Cc: Eric Dong 
Cc: Liming Gao 
Signed-off-by: Michael Kubacki 
---
 Features/Intel/Debugging/AcpiDebugFeaturePkg/Readme.md  | 8 
 Features/Intel/Debugging/Usb3DebugFeaturePkg/Readme.md  | 8 
 Features/Intel/Network/NetworkFeaturePkg/Readme.md  | 8 
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Readme.md | 8 
 Features/Intel/PowerManagement/S3FeaturePkg/Readme.md   | 8 
 Features/Intel/SystemInformation/SmbiosFeaturePkg/Readme.md | 8 
 Features/Intel/TemplateFeaturePkg/Readme.md | 8 
 Features/Intel/UserInterface/UserAuthFeaturePkg/Readme.md   | 8 
 8 files changed, 64 insertions(+)

diff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Readme.md 
b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Readme.md
index bbd7675c11..9868d6d816 100644
--- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Readme.md
+++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Readme.md
@@ -115,6 +115,14 @@ functional on their board.
 *_TODO_*
 An ordered list of required activities to achieve desired functionality for 
the feature.
 
+## Performance Impact
+A general expectation for the impact on overall boot performance due to using 
this feature.
+
+This section is expected to provide guidance on:
+* How to estimate performance impact due to the feature
+* How to measure performance impact of the feature
+* How to manage performance impact of the feature
+
 ## Common Optimizations
 *_TODO_*
 Common size or performance tuning options for this feature.
diff --git a/Features/Intel/Debugging/Usb3DebugFeaturePkg/Readme.md 
b/Features/Intel/Debugging/Usb3DebugFeaturePkg/Readme.md
index a6b7cfc363..dc92f108ff 100644
--- a/Features/Intel/Debugging/Usb3DebugFeaturePkg/Readme.md
+++ b/Features/Intel/Debugging/Usb3DebugFeaturePkg/Readme.md
@@ -93,6 +93,14 @@ functional on their board.
 *_TODO_*
 An ordered list of required activities to achieve desired functionality for 
the feature.
 
+## Performance Impact
+A general expectation for the impact on overall boot performance due to using 
this feature.
+
+This section is expected to provide guidance on:
+* How to estimate performance impact due to the feature
+* How to measure performance impact of the feature
+* How to manage performance impact of the feature
+
 ## Common Optimizations
 *_TODO_*
 Common size or performance tuning options for this feature.
diff --git a/Features/Intel/Network/NetworkFeaturePkg/Readme.md 
b/Features/Intel/Network/NetworkFeaturePkg/Readme.md
index 6c670b005c..af59fc427a 100644
--- a/Features/Intel/Network/NetworkFeaturePkg/Readme.md
+++ b/Features/Intel/Network/NetworkFeaturePkg/Readme.md
@@ -93,6 +93,14 @@ functional on their board.
 *_TODO_*
 An ordered list of required activities to achieve desired functionality for 
the feature.
 
+## Performance Impact
+A general expectation for the impact on overall boot performance due to using 
this feature.
+
+This section is expected to provide guidance on:
+* How to estimate performance impact due to the feature
+* How to measure performance impact of the feature
+* How to manage performance impact of the feature
+
 ## Common Optimizations
 *_TODO_*
 Common size or performance tuning options for this feature.
diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Readme.md 
b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Readme.md
index e70f1e850b..1af5b0cfda 100644
--- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Readme.md
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Readme.md
@@ -82,6 +82,14 @@ functional on their board.
 *_TODO_*
 An ordered list of required activities to achieve desired functionality for 
the feature.
 
+## Performance Impact
+A general expectation for the impact on overall boot performance due to using 
this feature.
+
+This section is expected to provide guidance on:
+* How to estimate performance impact due to the feature
+* How to measure performance impact of the feature
+* How to manage performance impact of the feature
+
 ## Common Optimizations
 *_TODO_*
 Common size or performance tuning options for this feature.
diff --git a/Features/Intel/PowerManagement/S3FeaturePkg/Readme.md 
b/Features/Intel/PowerManagement/S3FeaturePkg/Readme.md
index f9b60b3f0c..95ce2ddc15 100644
--- a/Features/Intel/PowerManagement/S3FeaturePkg/Readme.md
+++ b/Features/Intel/PowerManagement/S3FeaturePkg/Readme.md
@@ -87,6 +87,14 @@ functional on their board.
 *_TODO_*
 An ordered list of required activities to achieve desired functionality for 
the feature.
 
+## Performance Impact
+A general expectation for the impact on overall boot performance due to using 
this 

Re: [edk2-devel] [PATCH V1 1/1] MdeModulePkg/Variable: Fix VarErrorFlag RT cache offset calculation

2020-01-14 Thread Kubacki, Michael A
Since I don't have a strong opinion either, I won't make any changes to V1 at 
this time.

Thanks,
Michael

> -Original Message-
> From: Wang, Jian J 
> Sent: Tuesday, January 14, 2020 8:09 PM
> To: Kubacki, Michael A ;
> devel@edk2.groups.io
> Cc: Gao, Liming ; Kinney, Michael D
> ; Michael Turner
> ; Wu, Hao A 
> Subject: RE: [edk2-devel] [PATCH V1 1/1] MdeModulePkg/Variable: Fix
> VarErrorFlag RT cache offset calculation
> 
> Mike,
> 
> Thanks for explaining. You're right that the error is rare case and it won't
> cause big problem, and NonVolatileLastVariableOffset will be approaching
> the whole FV size after some time. I don't have strong opinion. Both work for
> me.
> 
> Regards,
> Jian
> 
> > -Original Message-
> > From: Kubacki, Michael A 
> > Sent: Wednesday, January 15, 2020 11:53 AM
> > To: Wang, Jian J ; devel@edk2.groups.io
> > Cc: Gao, Liming ; Kinney, Michael D
> > ; Michael Turner
> > ; Wu, Hao A 
> > Subject: RE: [edk2-devel] [PATCH V1 1/1] MdeModulePkg/Variable: Fix
> > VarErrorFlag RT cache offset calculation
> >
> > Hi Jian,
> >
> > I considered that but these are the reasons I settled on the approach in
> patch V1.
> >
> > 1. With the variable store filled, the length of
> > mVariableModuleGlobal-
> > >NonVolatileLastVariableOffset will only marginally be a smaller value
> > >than
> > mNvVariableCache->Size (since variable writes grow the store for SPI
> > mNvVariableCache->flash wear
> > leveling). In this case, it will be ~CommonRuntimeVariableSpace which
> > is usually a major portion of the variable store size anyway.
> > 2. Since mVariableModuleGlobal->NonVolatileLastVariableOffset is a
> > global moving value that is more frequently manipulated than the fixed
> > variable store size, depending upon it increases the likelihood it
> > will be set to an invalid value somewhere else.
> > 3. This is a relatively rare case (an error condition) and the memory
> > copy is within DRAM for variable stores that are typically ~128KB - ~512KB.
> >
> > To reduce the copy size, the Offset parameter can be "(UINTN)
> > VarErrFlag -
> > (UINTN) mNvVariableCache" (just remove the unnecessary addition of
> > (UINTN)
> > mVariableModuleGlobal->VariableGlobal.NonVolatileVariableBase) with
> > mVariableModuleGlobal->size
> > "sizeof (TempFlag)". How about this in a V2?
> >
> > Thanks,
> > Michael
> >
> > > -Original Message-
> > > From: Wang, Jian J 
> > > Sent: Monday, January 13, 2020 10:43 PM
> > > To: devel@edk2.groups.io; Kubacki, Michael A
> > > 
> > > Cc: Gao, Liming ; Kinney, Michael D
> > > ; Michael Turner
> > > ; Wu, Hao A 
> > > Subject: RE: [edk2-devel] [PATCH V1 1/1] MdeModulePkg/Variable: Fix
> > > VarErrorFlag RT cache offset calculation
> > >
> > > Michael,
> > >
> > > I'm not sure sync-ing whole variable cache memory is an efficient
> operation.
> > > What about using
> > > mVariableModuleGlobal->NonVolatileLastVariableOffset
> > > as Length parameter?
> > >
> > >Status =  SynchronizeRuntimeVariableCache (
> > >
> > >
> >VariableGlobal.VariableRuntimeCacheContext.VariableRuntimeNvCache,
> > >0,
> > >mVariableModuleGlobal->NonVolatileLastVariableOffset
> > >);
> > >
> > > Regards,
> > > Jian
> > >
> > > > -Original Message-
> > > > From: devel@edk2.groups.io  On Behalf Of
> > > > Kubacki, Michael A
> > > > Sent: Tuesday, January 14, 2020 7:19 AM
> > > > To: devel@edk2.groups.io
> > > > Cc: Gao, Liming ; Kinney, Michael D
> > > > ; Michael Turner
> > > > ; Wang, Jian J
> > > > ; Wu, Hao A 
> > > > Subject: [edk2-devel] [PATCH V1 1/1] MdeModulePkg/Variable: Fix
> > > > VarErrorFlag RT cache offset calculation
> > > >
> > > > REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2457
> > > >
> > > > This commit fixes an offset calculation that is used to write the
> > > > VarErrorFlag UEFI variable to the UEFI variable runtime cache.
> > > >
> > > > Currently a physical address is used instead of an offset. This
> > > > commit changes the offset to zero with a length of the entire
> > > > non-volatile variable store so the 

Re: [edk2-devel] [PATCH V1 1/1] MdeModulePkg/Variable: Fix VarErrorFlag RT cache offset calculation

2020-01-14 Thread Kubacki, Michael A
Hi Jian,

I considered that but these are the reasons I settled on the approach in patch 
V1.

1. With the variable store filled, the length of 
mVariableModuleGlobal->NonVolatileLastVariableOffset will only marginally be a 
smaller value than mNvVariableCache->Size (since variable writes grow the store 
for SPI flash wear leveling). In this case, it will be 
~CommonRuntimeVariableSpace which is usually a major portion of the variable 
store size anyway.
2. Since mVariableModuleGlobal->NonVolatileLastVariableOffset is a global 
moving value that is more frequently manipulated than the fixed variable store 
size, depending upon it increases the likelihood it will be set to an invalid 
value somewhere else.
3. This is a relatively rare case (an error condition) and the memory copy is 
within DRAM for variable stores that are typically ~128KB - ~512KB.

To reduce the copy size, the Offset parameter can be "(UINTN) VarErrFlag - 
(UINTN) mNvVariableCache" (just remove the unnecessary addition of (UINTN) 
mVariableModuleGlobal->VariableGlobal.NonVolatileVariableBase) with size 
"sizeof (TempFlag)". How about this in a V2?

Thanks,
Michael

> -Original Message-
> From: Wang, Jian J 
> Sent: Monday, January 13, 2020 10:43 PM
> To: devel@edk2.groups.io; Kubacki, Michael A
> 
> Cc: Gao, Liming ; Kinney, Michael D
> ; Michael Turner
> ; Wu, Hao A 
> Subject: RE: [edk2-devel] [PATCH V1 1/1] MdeModulePkg/Variable: Fix
> VarErrorFlag RT cache offset calculation
> 
> Michael,
> 
> I'm not sure sync-ing whole variable cache memory is an efficient operation.
> What about using mVariableModuleGlobal->NonVolatileLastVariableOffset
> as Length parameter?
> 
>Status =  SynchronizeRuntimeVariableCache (
>
> >VariableGlobal.VariableRuntimeCacheContext.VariableRuntimeNvCache,
>0,
>mVariableModuleGlobal->NonVolatileLastVariableOffset
>    );
> 
> Regards,
> Jian
> 
> > -Original Message-
> > From: devel@edk2.groups.io  On Behalf Of
> > Kubacki, Michael A
> > Sent: Tuesday, January 14, 2020 7:19 AM
> > To: devel@edk2.groups.io
> > Cc: Gao, Liming ; Kinney, Michael D
> > ; Michael Turner
> > ; Wang, Jian J ;
> > Wu, Hao A 
> > Subject: [edk2-devel] [PATCH V1 1/1] MdeModulePkg/Variable: Fix
> > VarErrorFlag RT cache offset calculation
> >
> > REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2457
> >
> > This commit fixes an offset calculation that is used to write the
> > VarErrorFlag UEFI variable to the UEFI variable runtime cache.
> >
> > Currently a physical address is used instead of an offset. This commit
> > changes the offset to zero with a length of the entire non-volatile
> > variable store so the entire non-volatile variable store buffer in
> > SMRAM (with the variable update modification) is copied to the runtime
> > variable cache. This follows the same pattern used in other
> > SynchronizeRuntimeVariableCache () calls for consistency.
> >
> > * Observable symptom: An exception in SMM will most likely occur
> >   due to the invalid memory reference when the VarErrorFlag variable
> >   is written. The variable is most commonly written when the UEFI
> >   variable store is full.
> >
> > * The issue only occurs when the variable runtime cache is enabled
> >   by the following PCD being set to TRUE:
> >   gEfiMdeModulePkgTokenSpaceGuid.PcdEnableVariableRuntimeCache
> >
> > Fixes: aab3b9b9a1e5e1f3fa966fb1667fc3e6c47e7706
> >
> > Cc: Liming Gao 
> > Cc: Michael D Kinney 
> > Cc: Michael Turner 
> > Cc: Jian J Wang 
> > Cc: Hao A Wu 
> > Signed-off-by: Michael Kubacki 
> > ---
> >  MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c | 6 +++---
> >  1 file changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c
> > b/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c
> > index b0ee5e50d0..d23aea4bc7 100644
> > --- a/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c
> > +++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c
> > @@ -16,7 +16,7 @@
> >VariableServiceSetVariable() should also check authenticate data to
> > avoid buffer overflow,
> >integer overflow. It should also check attribute to avoid authentication
> bypass.
> >
> > -Copyright (c) 2006 - 2019, Intel Corporation. All rights
> > reserved.
> > +Copyright (c) 2006 - 2020, Intel Corporation. All rights
> > +reserved.
> >  (C) Copyright 2015-2018 Hewlett Packard Enterprise Development LP
> >  

[edk2-devel] [PATCH V1 1/1] MdeModulePkg/Variable: Fix VarErrorFlag RT cache offset calculation

2020-01-13 Thread Kubacki, Michael A
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2457

This commit fixes an offset calculation that is used to write the
VarErrorFlag UEFI variable to the UEFI variable runtime cache.

Currently a physical address is used instead of an offset. This
commit changes the offset to zero with a length of the entire
non-volatile variable store so the entire non-volatile variable
store buffer in SMRAM (with the variable update modification) is
copied to the runtime variable cache. This follows the same pattern
used in other SynchronizeRuntimeVariableCache () calls for
consistency.

* Observable symptom: An exception in SMM will most likely occur
  due to the invalid memory reference when the VarErrorFlag variable
  is written. The variable is most commonly written when the UEFI
  variable store is full.

* The issue only occurs when the variable runtime cache is enabled
  by the following PCD being set to TRUE:
  gEfiMdeModulePkgTokenSpaceGuid.PcdEnableVariableRuntimeCache

Fixes: aab3b9b9a1e5e1f3fa966fb1667fc3e6c47e7706

Cc: Liming Gao 
Cc: Michael D Kinney 
Cc: Michael Turner 
Cc: Jian J Wang 
Cc: Hao A Wu 
Signed-off-by: Michael Kubacki 
---
 MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c 
b/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c
index b0ee5e50d0..d23aea4bc7 100644
--- a/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c
@@ -16,7 +16,7 @@
   VariableServiceSetVariable() should also check authenticate data to avoid 
buffer overflow,
   integer overflow. It should also check attribute to avoid authentication 
bypass.
 
-Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.
+Copyright (c) 2006 - 2020, Intel Corporation. All rights reserved.
 (C) Copyright 2015-2018 Hewlett Packard Enterprise Development LP
 SPDX-License-Identifier: BSD-2-Clause-Patent
 
@@ -335,8 +335,8 @@ RecordVarErrorFlag (
   *VarErrFlag = TempFlag;
   Status =  SynchronizeRuntimeVariableCache (
   
>VariableGlobal.VariableRuntimeCacheContext.VariableRuntimeNvCache,
-  (UINTN) VarErrFlag - (UINTN) mNvVariableCache + (UINTN) 
mVariableModuleGlobal->VariableGlobal.NonVolatileVariableBase,
-  sizeof (TempFlag)
+  0,
+  mNvVariableCache->Size
   );
   ASSERT_EFI_ERROR (Status);
 }
-- 
2.16.2.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#53203): https://edk2.groups.io/g/devel/message/53203
Mute This Topic: https://groups.io/mt/69681408/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel][edk2-platforms][PATCH v4] IntelSiliconPkg/Feature/SmmAccess/*: Fix incorrect Docygen comment

2020-01-09 Thread Kubacki, Michael A
Hi Marc,

I already added my R-b in V3, that can be used here. I just wanted to note that 
it would be nice in the future if you could include a Git note in the commit 
that summarizes the changes between patch versions.

Thanks,
Michael

> -Original Message-
> From: Chen, Marc W 
> Sent: Thursday, January 9, 2020 7:29 PM
> To: devel@edk2.groups.io
> Cc: Kubacki, Michael A ; Chaganty, Rangasai V
> ; Ni, Ray ; Gao, Liming
> ; Zhang, Shenglei ; Chen,
> Marc W 
> Subject: [edk2-devel][edk2-platforms][PATCH v4]
> IntelSiliconPkg/Feature/SmmAccess/*: Fix incorrect Docygen comment
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2436
> 
> Cc: Michael Kubacki 
> Cc: Sai Chaganty 
> Cc: Ray Ni 
> Cc: Liming Gao 
> Cc: Shenglei Zhang 
> Signed-off-by: Marc Chen 
> ---
>  .../Library/PeiSmmAccessLib/PeiSmmAccessLib.c  | 37 +--
>  .../SmmAccess/SmmAccessDxe/SmmAccessDriver.c   | 35 +++--
> -
>  .../SmmAccess/SmmAccessDxe/SmmAccessDriver.h   | 41 ++
> 
>  .../IntelSiliconPkg/Include/Library/SmmAccessLib.h |  7 ++--
>  4 files changed, 60 insertions(+), 60 deletions(-)
> 
> diff --git
> a/Silicon/Intel/IntelSiliconPkg/Feature/SmmAccess/Library/PeiSmmAccessLib/P
> eiSmmAccessLib.c
> b/Silicon/Intel/IntelSiliconPkg/Feature/SmmAccess/Library/PeiSmmAccessLib/P
> eiSmmAccessLib.c
> index da141cfa0e..d9bf4fba98 100644
> ---
> a/Silicon/Intel/IntelSiliconPkg/Feature/SmmAccess/Library/PeiSmmAccessLib/P
> eiSmmAccessLib.c
> +++
> b/Silicon/Intel/IntelSiliconPkg/Feature/SmmAccess/Library/PeiSmmAccessLib/P
> eiSmmAccessLib.c
> @@ -1,7 +1,7 @@
>  /** @file
>This is to publish the SMM Access Ppi instance.
> 
> -  Copyright (c) 2019, Intel Corporation. All rights reserved.
> +  Copyright (c) 2019 - 2020, Intel Corporation. All rights reserved.
>SPDX-License-Identifier: BSD-2-Clause-Patent
> 
>  **/
> @@ -46,9 +46,9 @@ typedef struct {
>The use of "open" means that the memory is visible from all PEIM
>and SMM agents.
> 
> -  @param[in] This -  Pointer to the SMM Access Interface.
> -  @param[in] DescriptorIndex  -  Region of SMRAM to Open.
> -  @param[in] PeiServices  -  General purpose services available to every
> PEIM.
> +  @param[in] PeiServices -  General purpose services available to 
> every
> PEIM.
> +  @param[in] This-  Pointer to the SMM Access Interface.
> +  @param[in] DescriptorIndex -  Region of SMRAM to Open.
> 
>@retval EFI_SUCCESS-  The region was successfully opened.
>@retval EFI_DEVICE_ERROR   -  The region could not be opened because
> locked by
> @@ -89,9 +89,9 @@ Open (
>This routine accepts a request to "close" a region of SMRAM.  This is 
> valid for
>compatible SMRAM region.
> 
> -  @param[in] PeiServices  -  General purpose services available to every
> PEIM.
> -  @param[in] This -  Pointer to the SMM Access Interface.
> -  @param[in] DescriptorIndex  -  Region of SMRAM to Close.
> +  @param[in] PeiServices -  General purpose services available to 
> every
> PEIM.
> +  @param[in] This-  Pointer to the SMM Access Interface.
> +  @param[in] DescriptorIndex -  Region of SMRAM to Close.
> 
>@retval EFI_SUCCESS-  The region was successfully closed.
>@retval EFI_DEVICE_ERROR   -  The region could not be closed because
> locked by
> @@ -151,9 +151,9 @@ Close (
>The use of "lock" means that the memory can no longer be opened
>to PEIM.
> 
> -  @param[in] PeiServices  - General purpose services available to every
> PEIM.
> -  @param[in] This -  Pointer to the SMM Access Interface.
> -  @param[in] DescriptorIndex  -  Region of SMRAM to Lock.
> +  @param[in] PeiServices - General purpose services available to 
> every
> PEIM.
> +  @param[in] This-  Pointer to the SMM Access Interface.
> +  @param[in] DescriptorIndex -  Region of SMRAM to Lock.
> 
>@retval EFI_SUCCESS-  The region was successfully locked.
>@retval EFI_DEVICE_ERROR   -  The region could not be locked because at
> least
> @@ -193,12 +193,12 @@ Lock (
>ranges that are possible for SMRAM access, based upon the
>memory controller capabilities.
> 
> -  @param[in] PeiServices   - General purpose services available to every 
> PEIM.
> -  @param[in] This  -  Pointer to the SMRAM Access Interface.
> -  @param[in] SmramMapSize  -  Pointer to the variable containing size of the
> -  buffer to contain the description information.
> -  @param[in] 

Re: [edk2-devel][edk2-platforms][PATCH v3] IntelSiliconPkg/Feature/SmmAccess/*: Fix incorrect Docygen comment

2020-01-09 Thread Kubacki, Michael A
Reviewed-by: Michael Kubacki 

> -Original Message-
> From: Chen, Marc W 
> Sent: Thursday, January 9, 2020 1:09 AM
> To: devel@edk2.groups.io
> Cc: Kubacki, Michael A ; Chaganty, Rangasai V
> ; Ni, Ray ; Gao, Liming
> ; Zhang, Shenglei ;
> Chen, Marc W 
> Subject: [edk2-devel][edk2-platforms][PATCH v3]
> IntelSiliconPkg/Feature/SmmAccess/*: Fix incorrect Docygen comment
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2436
> 
> Cc: Michael Kubacki 
> Cc: Sai Chaganty 
> Cc: Ray Ni 
> Cc: Liming Gao 
> Cc: Shenglei Zhang 
> Signed-off-by: Marc Chen 
> ---
>  .../Library/PeiSmmAccessLib/PeiSmmAccessLib.c  | 37 ++-
> -
>  .../SmmAccess/SmmAccessDxe/SmmAccessDriver.c   | 35 +++--
> --
>  .../SmmAccess/SmmAccessDxe/SmmAccessDriver.h   | 39 ++
> 
>  .../IntelSiliconPkg/Include/Library/SmmAccessLib.h |  7 ++--
>  4 files changed, 59 insertions(+), 59 deletions(-)
> 
> diff --git
> a/Silicon/Intel/IntelSiliconPkg/Feature/SmmAccess/Library/PeiSmmAccessLi
> b/PeiSmmAccessLib.c
> b/Silicon/Intel/IntelSiliconPkg/Feature/SmmAccess/Library/PeiSmmAccessLi
> b/PeiSmmAccessLib.c
> index da141cfa0e..d9bf4fba98 100644
> ---
> a/Silicon/Intel/IntelSiliconPkg/Feature/SmmAccess/Library/PeiSmmAccessLi
> b/PeiSmmAccessLib.c
> +++
> b/Silicon/Intel/IntelSiliconPkg/Feature/SmmAccess/Library/PeiSmmAccessLi
> b/PeiSmmAccessLib.c
> @@ -1,7 +1,7 @@
>  /** @file
>This is to publish the SMM Access Ppi instance.
> 
> -  Copyright (c) 2019, Intel Corporation. All rights reserved.
> +  Copyright (c) 2019 - 2020, Intel Corporation. All rights reserved.
>SPDX-License-Identifier: BSD-2-Clause-Patent
> 
>  **/
> @@ -46,9 +46,9 @@ typedef struct {
>The use of "open" means that the memory is visible from all PEIM
>and SMM agents.
> 
> -  @param[in] This -  Pointer to the SMM Access Interface.
> -  @param[in] DescriptorIndex  -  Region of SMRAM to Open.
> -  @param[in] PeiServices  -  General purpose services available to every
> PEIM.
> +  @param[in] PeiServices -  General purpose services available to 
> every
> PEIM.
> +  @param[in] This-  Pointer to the SMM Access Interface.
> +  @param[in] DescriptorIndex -  Region of SMRAM to Open.
> 
>@retval EFI_SUCCESS-  The region was successfully opened.
>@retval EFI_DEVICE_ERROR   -  The region could not be opened because
> locked by
> @@ -89,9 +89,9 @@ Open (
>This routine accepts a request to "close" a region of SMRAM.  This is valid
> for
>compatible SMRAM region.
> 
> -  @param[in] PeiServices  -  General purpose services available to every
> PEIM.
> -  @param[in] This -  Pointer to the SMM Access Interface.
> -  @param[in] DescriptorIndex  -  Region of SMRAM to Close.
> +  @param[in] PeiServices -  General purpose services available to 
> every
> PEIM.
> +  @param[in] This-  Pointer to the SMM Access Interface.
> +  @param[in] DescriptorIndex -  Region of SMRAM to Close.
> 
>@retval EFI_SUCCESS-  The region was successfully closed.
>@retval EFI_DEVICE_ERROR   -  The region could not be closed because
> locked by
> @@ -151,9 +151,9 @@ Close (
>The use of "lock" means that the memory can no longer be opened
>to PEIM.
> 
> -  @param[in] PeiServices  - General purpose services available to every
> PEIM.
> -  @param[in] This -  Pointer to the SMM Access Interface.
> -  @param[in] DescriptorIndex  -  Region of SMRAM to Lock.
> +  @param[in] PeiServices - General purpose services available to 
> every
> PEIM.
> +  @param[in] This-  Pointer to the SMM Access Interface.
> +  @param[in] DescriptorIndex -  Region of SMRAM to Lock.
> 
>@retval EFI_SUCCESS-  The region was successfully locked.
>@retval EFI_DEVICE_ERROR   -  The region could not be locked because at
> least
> @@ -193,12 +193,12 @@ Lock (
>ranges that are possible for SMRAM access, based upon the
>memory controller capabilities.
> 
> -  @param[in] PeiServices   - General purpose services available to every
> PEIM.
> -  @param[in] This  -  Pointer to the SMRAM Access Interface.
> -  @param[in] SmramMapSize  -  Pointer to the variable containing size of the
> -  buffer to contain the description information.
> -  @param[in] SmramMap  -  Buffer containing the data describing the
> Smram
> -  region descriptors.
> +  @param[in] PeiServices- General purpose 

Re: [edk2-devel][edk2-platforms][PATCH] IntelSiliconPkg/Feature/SmmAccess/*: Fix incorrect Docygen comment

2020-01-08 Thread Kubacki, Michael A
edk2-platforms\Silicon\Intel\IntelSiliconPkg\Include\Library\SmmAccessLib.h
* I think the description would be clearer by making the following change:
   "An API to install a PEI_MM_ACCESS_PPI PPI for controlling SMM mode memory 
access basically for S3 resume usage."
   to
   "An API to install an instance of EFI_PEI_MM_ACCESS_PPI. This PPI is 
commonly used to control SMM mode memory access for S3 resume."

edk2-platforms\Silicon\Intel\IntelSiliconPkg\Feature\SmmAccess\Library\PeiSmmAccessLib\PeiSmmAccessLib.c
* I suggest aligning the " General purpose services available to every PEIM." 
on the same vertical column as the other parameter text in the function 
description.
* Same update to the function description for PeiInstallSmmAccessPei () that 
was suggested in SmmAccessLib.h

edk2-platforms\Silicon\Intel\IntelSiliconPkg\Feature\SmmAccess\SmmAccessDxe\SmmAccessDriver.h
edk2-platforms\Silicon\Intel\IntelSiliconPkg\Feature\SmmAccess\SmmAccessDxe\SmmAccessDriver.c
* The function description for SmmAccessDriverEntryPoint () is inconsistent in 
these files.
   * Some return values in the description in SmmAccessDriver.c are missing 
from the description in SmmAccessDriver.h

With these updates:
Reviewed-by: Michael Kubacki 

Thanks,
Michael

> -Original Message-
> From: Chen, Marc W 
> Sent: Wednesday, December 25, 2019 10:53 PM
> To: devel@edk2.groups.io
> Cc: Kubacki, Michael A ; Chaganty, Rangasai V
> ; Gao, Liming ;
> Zhang, Shenglei ; Chen, Marc W
> 
> Subject: [edk2-devel][edk2-platforms][PATCH]
> IntelSiliconPkg/Feature/SmmAccess/*: Fix incorrect Docygen comment
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2436
> 
> Cc: Michael Kubacki 
> Cc: Sai Chaganty 
> Cc: Liming Gao 
> Cc: Shenglei Zhang 
> Signed-off-by: Marc Chen 
> ---
>  .../Library/PeiSmmAccessLib/PeiSmmAccessLib.c | 19 --
> -
>  .../Feature/SmmAccess/SmmAccessDxe/SmmAccessDriver.c  |  6 +++---
> .../Feature/SmmAccess/SmmAccessDxe/SmmAccessDriver.h  | 13 +
> 
>  .../IntelSiliconPkg/Include/Library/SmmAccessLib.h|  5 +
>  4 files changed, 17 insertions(+), 26 deletions(-)
> 
> diff --git
> a/Silicon/Intel/IntelSiliconPkg/Feature/SmmAccess/Library/PeiSmmAccessLi
> b/PeiSmmAccessLib.c
> b/Silicon/Intel/IntelSiliconPkg/Feature/SmmAccess/Library/PeiSmmAccessLi
> b/PeiSmmAccessLib.c
> index da141cfa0e..61da7ea0bd 100644
> ---
> a/Silicon/Intel/IntelSiliconPkg/Feature/SmmAccess/Library/PeiSmmAccessLi
> b/PeiSmmAccessLib.c
> +++
> b/Silicon/Intel/IntelSiliconPkg/Feature/SmmAccess/Library/PeiSmmAcce
> +++ ssLib/PeiSmmAccessLib.c
> @@ -46,9 +46,9 @@ typedef struct {
>The use of "open" means that the memory is visible from all PEIM
>and SMM agents.
> 
> +  @param[in] PeiServices  -  General purpose services available to every
> PEIM.
>@param[in] This -  Pointer to the SMM Access Interface.
>@param[in] DescriptorIndex  -  Region of SMRAM to Open.
> -  @param[in] PeiServices  -  General purpose services available to every
> PEIM.
> 
>@retval EFI_SUCCESS-  The region was successfully opened.
>@retval EFI_DEVICE_ERROR   -  The region could not be opened because
> locked by
> @@ -193,12 +193,12 @@ Lock (
>ranges that are possible for SMRAM access, based upon the
>memory controller capabilities.
> 
> -  @param[in] PeiServices   - General purpose services available to every
> PEIM.
> -  @param[in] This  -  Pointer to the SMRAM Access Interface.
> -  @param[in] SmramMapSize  -  Pointer to the variable containing size of the
> -  buffer to contain the description information.
> -  @param[in] SmramMap  -  Buffer containing the data describing the
> Smram
> -  region descriptors.
> +  @param[in] PeiServices- General purpose services available to every
> PEIM.
> +  @param[in] This   -  Pointer to the SMRAM Access Interface.
> +  @param[in, out] SmramMapSize  -  Pointer to the variable containing size
> of the
> +   buffer to contain the description 
> information.
> +  @param[in, out] SmramMap  -  Buffer containing the data describing the
> Smram
> +   region descriptors.
> 
>@retval EFI_BUFFER_TOO_SMALL  -  The user did not provide a sufficient
> buffer.
>@retval EFI_SUCCESS   -  The user provided a sufficiently-sized 
> buffer.
> @@ -234,10 +234,7 @@ GetCapabilities (
>  /**
>This function is to install an SMM Access PPI
>- Introduction \n
> -A module to install a PPI for controlling SMM mode memory access
> basically for S3 resume usage.
> -
>

Re: [edk2-devel] [edk2-platforms] [PATCH 02/11] BoardModulePkg: Add BDS Hook Library

2019-12-20 Thread Kubacki, Michael A
Reviewed-by: Michael Kubacki 

> -Original Message-
> From: Agyeman, Prince 
> Sent: Friday, December 13, 2019 5:32 PM
> To: devel@edk2.groups.io
> Cc: Kubacki, Michael A ; Chiu, Chasel
> ; Desimone, Nathaniel L
> 
> Subject: [edk2-platforms] [PATCH 02/11] BoardModulePkg: Add BDS Hook
> Library
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2336
> 
> Added a generic board BDS hook library that implements
> BDS hook points as defined in the Minimum platform specification.
> 
> This library implements callbacks for the three MinPlatformPkg
> BDS event groups, namely
> gBdsEventBeforeConsoleAfterTrustedConsoleGuid,
> gBdsEventBeforeConsoleBeforeEndOfDxeGuid and
> gBdsEventAfterConsoleReadyBeforeBootOptionGuid.
> 
> This Library also implements callbacks for pre-existing event groups:
> gEfiEndOfDxeEventGroupGuid, gEfiPciEnumerationCompleteProtocolGuid,
> gEfiDxeSmmReadyToLockProtocolGuid.
> 
> These callbacks can be registered to their respective event groups,
> through other libraries or DXE drivers
> 
> Cc: Michael Kubacki 
> Cc: Chasel Chiu 
> Cc: Nate DeSimone 
> 
> Signed-off-by: Prince Agyeman 
> ---
>  .../Include/Library/BoardBdsHookLib.h |  100 ++
>  .../Library/BoardBdsHookLib/BoardBdsHook.h|  211 +++
>  .../Library/BoardBdsHookLib/BoardBdsHookLib.c | 1390
> +
>  .../BoardBdsHookLib/BoardBdsHookLib.inf   |   95 ++
>  .../Library/BoardBdsHookLib/BoardBootOption.c |  598 +++
>  .../Library/BoardBdsHookLib/BoardMemoryTest.c |   83 +
>  6 files changed, 2477 insertions(+)
>  create mode 100644
> Platform/Intel/BoardModulePkg/Include/Library/BoardBdsHookLib.h
>  create mode 100644
> Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHook.h
>  create mode 100644
> Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHookLi
> b.c
>  create mode 100644
> Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHookLi
> b.inf
>  create mode 100644
> Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBootOptio
> n.c
>  create mode 100644
> Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardMemoryTe
> st.c
> 
> diff --git
> a/Platform/Intel/BoardModulePkg/Include/Library/BoardBdsHookLib.h
> b/Platform/Intel/BoardModulePkg/Include/Library/BoardBdsHookLib.h
> new file mode 100644
> index 00..ba351b7bf4
> --- /dev/null
> +++ b/Platform/Intel/BoardModulePkg/Include/Library/BoardBdsHookLib.h
> @@ -0,0 +1,100 @@
> +/** @file
> +Header file for BDS Hook Library
> +
> +Copyright (c) 2019, Intel Corporation. All rights reserved.
> +SPDX-License-Identifier: BSD-2-Clause-Patent
> +
> +**/
> +
> +#ifndef _BDS_HOOK_LIB_H_
> +#define _BDS_HOOK_LIB_H_
> +
> +#include 
> +
> +
> +/**
> +  This is the callback function for Bds Ready To Boot event.
> +
> +  @param  Event   Pointer to this event
> +  @param  Context Event hanlder private data
> +
> +  @retval None.
> +**/
> +VOID
> +EFIAPI
> +BdsReadyToBootCallback (
> +  IN  EFI_EVENT Event,
> +  IN  VOID  *Context
> +  );
> +
> +
> +/**
> +  This is the callback function for Smm Ready To Lock event.
> +
> +  @param[in] Event  The Event this notify function registered to.
> +  @param[in] ContextPointer to the context data registered to the Event.
> +**/
> +VOID
> +EFIAPI
> +BdsSmmReadyToLockCallback (
> +  IN EFI_EVENTEvent,
> +  IN VOID *Context
> +  );
> +
> +
> +/**
> +  This is the callback function for PCI ENUMERATION COMPLETE.
> +
> +  @param[in] Event  The Event this notify function registered to.
> +  @param[in] ContextPointer to the context data registered to the Event.
> +**/
> +VOID
> +EFIAPI
> +BdsPciEnumCompleteCallback (
> +  IN EFI_EVENTEvent,
> +  IN VOID *Context
> +  );
> +
> +
> +/**
> +  Before console after trusted console event callback
> +
> +  @param[in] Event  The Event this notify function registered to.
> +  @param[in] ContextPointer to the context data registered to the Event.
> +**/
> +VOID
> +EFIAPI
> +BdsBeforeConsoleAfterTrustedConsoleCallback (
> +  IN EFI_EVENT  Event,
> +  IN VOID   *Context
> +  );
> +
> +
> +/**
> +  Before console before end of DXE event callback
> +
> +  @param[in] Event  The Event this notify function registered to.
> +  @param[in] ContextPointer to the context data registered to the Event.
> +**/
> +VOID
> +EFIAPI
> +BdsBeforeConsoleBeforeEndOfDxeGuidCallback (
> +  IN EFI_EVENT  Event,
> +  IN VOID   *Context
> +  );
> +
> +
&

Re: [edk2-devel] [edk2-platforms] [PATCH 10/11] SimicsOpenBoardPkg: Add BDS Board Boot Manager library

2019-12-20 Thread Kubacki, Michael A
Reviewed-by: Michael Kubacki 

> -Original Message-
> From: Agyeman, Prince 
> Sent: Friday, December 13, 2019 5:33 PM
> To: devel@edk2.groups.io
> Cc: Desimone, Nathaniel L ; Kubacki,
> Michael A 
> Subject: [edk2-platforms] [PATCH 10/11] SimicsOpenBoardPkg: Add BDS
> Board Boot Manager library
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2336
> 
> This library implements PlatformBootManagerWaitCallback and
> PlatformBootManagerUnableToBoot which can be linked Minplatform's
> PlatformBootManager libary instance.
> 
> Cc: Nate DeSimone 
> Cc: Michael Kubacki 
> 
> Signed-off-by: Prince Agyeman 
> ---
>  .../BoardBootManagerLib/BoardBootManager.c| 67
> +++
>  .../BoardBootManagerLib.inf   | 45 +
>  2 files changed, 112 insertions(+)
>  create mode 100644
> Platform/Intel/SimicsOpenBoardPkg/Library/BoardBootManagerLib/BoardBo
> otManager.c
>  create mode 100644
> Platform/Intel/SimicsOpenBoardPkg/Library/BoardBootManagerLib/BoardBo
> otManagerLib.inf
> 
> diff --git
> a/Platform/Intel/SimicsOpenBoardPkg/Library/BoardBootManagerLib/Board
> BootManager.c
> b/Platform/Intel/SimicsOpenBoardPkg/Library/BoardBootManagerLib/Board
> BootManager.c
> new file mode 100644
> index 00..58035f2766
> --- /dev/null
> +++
> b/Platform/Intel/SimicsOpenBoardPkg/Library/BoardBootManagerLib/Boar
> +++ dBootManager.c
> @@ -0,0 +1,67 @@
> +/** @file
> +  The Board Boot Manager Library implements
> +BoardBootManagerWaitCallback
> +  and BoardBootManagerUnableToBoot callback, which is linked to the
> +  Platform Boot Manager Library
> +
> +  Copyright (c) 2019 Intel Corporation. All rights reserved. 
> +
> +  SPDX-License-Identifier: BSD-2-Clause-Patent **/
> +
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +
> +/**
> +  This function is called each second during the boot manager waits the
> +  timeout.
> +
> +  @param TimeoutRemain  The remaining timeout.
> +**/
> +VOID
> +EFIAPI
> +BoardBootManagerWaitCallback (
> +  UINT16  TimeoutRemain
> +  )
> +{
> +  EFI_GRAPHICS_OUTPUT_BLT_PIXEL_UNION Black;
> +  EFI_GRAPHICS_OUTPUT_BLT_PIXEL_UNION White;
> +  UINT16  Timeout;
> +
> +  Timeout = PcdGet16 (PcdPlatformBootTimeOut);
> +
> +  Black.Raw = 0x;
> +  White.Raw = 0x00FF;
> +
> +  BootLogoUpdateProgress (
> +White.Pixel,
> +Black.Pixel,
> +L"Start boot option",
> +White.Pixel,
> +(Timeout - TimeoutRemain) * 100 / Timeout,
> +0
> +);
> +}
> +
> +/**
> +  The function is called when no boot option could be launched,
> +  including platform recovery options and options pointing to
> +applications
> +  built into firmware volumes.
> +
> +  If this function returns, BDS attempts to enter an infinite loop.
> +**/
> +VOID
> +EFIAPI
> +BoardBootManagerUnableToBoot (
> +  VOID
> +  )
> +{
> +
> +}
> diff --git
> a/Platform/Intel/SimicsOpenBoardPkg/Library/BoardBootManagerLib/Board
> BootManagerLib.inf
> b/Platform/Intel/SimicsOpenBoardPkg/Library/BoardBootManagerLib/Board
> BootManagerLib.inf
> new file mode 100644
> index 00..20778981bc
> --- /dev/null
> +++
> b/Platform/Intel/SimicsOpenBoardPkg/Library/BoardBootManagerLib/Boar
> +++ dBootManagerLib.inf
> @@ -0,0 +1,45 @@
> +## @file
> +# Definition file for the Board Boot Manager Library.
> +#
> +# Copyright (c) 2019 Intel Corporation. All rights reserved.  # #
> +SPDX-License-Identifier: BSD-2-Clause-Patent # ##
> +
> +[Defines]
> +  INF_VERSION= 0x00010005
> +  BASE_NAME  = BoardBootManagerLib
> +  FILE_GUID  = EBBB176A-3883-4BA4-A74D-1510D0C35B37
> +  MODULE_TYPE= DXE_DRIVER
> +  VERSION_STRING = 1.0
> +  LIBRARY_CLASS  = BoardBootManagerLib|DXE_DRIVER
> +
> +#
> +# The following information is for reference only and not required by the
> build tools.
> +#
> +#  VALID_ARCHITECTURES   = IA32 X64 EBC
> +#
> +
> +[Sources]
> +  BoardBootManager.c
> +
> +[Packages]
> +  MdePkg/MdePkg.dec
> +  MdeModulePkg/MdeModulePkg.dec
> +  MinPlatformPkg/MinPlatformPkg.dec
> +
> +[LibraryClasses]
> +  BaseLib
> +  UefiBootServicesTableLib
> +  DebugLib
> +  UefiLib
> +  HobLib
> +  UefiBootManagerLib
> +  TimerLib
> +  BoardBootManagerLib
> +  BootLogoLib
> +  PcdLib
> +
> +[Pcd]
> +  gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut
> --
> 2.19.1.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#52473): https://edk2.groups.io/g/devel/message/52473
Mute This Topic: https://groups.io/mt/68590740/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel] [edk2-platforms] [PATCH 06/11] BoardModulePkg: Add Generic BoardBootManagerLib

2019-12-20 Thread Kubacki, Michael A
Reviewed-by: Michael Kubacki 

> -Original Message-
> From: Agyeman, Prince 
> Sent: Friday, December 13, 2019 5:33 PM
> To: devel@edk2.groups.io
> Cc: Kubacki, Michael A ; Chiu, Chasel
> ; Desimone, Nathaniel L
> 
> Subject: [edk2-platforms] [PATCH 06/11] BoardModulePkg: Add Generic
> BoardBootManagerLib
> 
> This library implements a generic PlatformBootManagerWaitCallback and
> PlatformBootManagerUnableToBoot which will be linked Minplatform's
> PlatformBootManager library instance.
> 
> Cc: Michael Kubacki 
> Cc: Chasel Chiu 
> Cc: Nate DeSimone 
> 
> Signed-off-by: Prince Agyeman 
> ---
>  .../BoardBootManagerLib/BoardBootManager.c| 103
> ++
>  .../BoardBootManagerLib.inf   |  39 +++
>  .../BoardBootManagerLib.c |   2 +-
>  3 files changed, 143 insertions(+), 1 deletion(-)  create mode 100644
> Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/BoardBoot
> Manager.c
>  create mode 100644
> Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/BoardBoot
> ManagerLib.inf
> 
> diff --git
> a/Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/BoardBoo
> tManager.c
> b/Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/BoardBoo
> tManager.c
> new file mode 100644
> index 00..f6628d4125
> --- /dev/null
> +++
> b/Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/BoardBoo
> +++ tManager.c
> @@ -0,0 +1,103 @@
> +/** @file
> +  This file include board specific boot manager callbacks
> +
> +  Copyright (c) 2019, Intel Corporation. All rights reserved.
> +  SPDX-License-Identifier: BSD-2-Clause-Patent **/
> +
> +
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +
> +
> +BOOLEANmHotKeypressed = FALSE;
> +EFI_EVENT  HotKeyEvent= NULL;
> +UINTN  mBootMenuOptionNumber;
> +
> +/**
> +  This function is called each second during the boot manager waits timeout.
> +
> +  @param TimeoutRemain  The remaining timeout.
> +**/
> +VOID
> +EFIAPI
> +BoardBootManagerWaitCallback (
> +  UINT16  TimeoutRemain
> +  )
> +{
> +  EFI_STATUSStatus;
> +  EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL  *TxtInEx;
> +  EFI_KEY_DATA  KeyData;
> +  BOOLEAN   PausePressed;
> +
> +  //
> +  // Pause on PAUSE key
> +  //
> +  Status = gBS->HandleProtocol (gST->ConsoleInHandle,
> + , (VOID **) );
> + ASSERT_EFI_ERROR (Status);
> +
> +  PausePressed = FALSE;
> +
> +  while (TRUE) {
> +Status = TxtInEx->ReadKeyStrokeEx (TxtInEx, );
> +if (EFI_ERROR (Status)) {
> +  break;
> +}
> +
> +if (KeyData.Key.ScanCode == SCAN_PAUSE) {
> +  PausePressed = TRUE;
> +  break;
> +}
> +  }
> +
> +  //
> +  // Loop until non-PAUSE key pressed
> +  //
> +  while (PausePressed) {
> +Status = TxtInEx->ReadKeyStrokeEx (TxtInEx, );
> +if (!EFI_ERROR (Status)) {
> +  DEBUG ((
> +DEBUG_INFO, "[PauseCallback] %x/%x %x/%x\n",
> +KeyData.Key.ScanCode, KeyData.Key.UnicodeChar,
> +KeyData.KeyState.KeyShiftState, KeyData.KeyState.KeyToggleState
> +));
> +  PausePressed = (BOOLEAN) (KeyData.Key.ScanCode == SCAN_PAUSE);
> +}
> +  }
> +}
> +
> +/**
> +  The function is called when no boot option could be launched,
> +  including platform recovery options and options pointing to
> +applications
> +  built into firmware volumes.
> +
> +  If this function returns, BDS attempts to enter an infinite loop.
> +**/
> +VOID
> +EFIAPI
> +BoardBootManagerUnableToBoot (
> +  VOID
> +  )
> +{
> +  EFI_STATUS   Status;
> +  EFI_BOOT_MANAGER_LOAD_OPTION BootDeviceList;
> +  CHAR16   OptionName[sizeof ("Boot")];
> +
> +  if (mBootMenuOptionNumber == LoadOptionNumberUnassigned) {
> +return;
> +  }
> +  UnicodeSPrint (OptionName, sizeof (OptionName), L"Boot%04x",
> +mBootMenuOptionNumber);
> +  Status = EfiBootManagerVariableToLoadOption (OptionName,
> +);
> +  if (EFI_ERROR (Status)) {
> +return;
> +  }
> +  for (;;) {
> +EfiBootManagerBoot ();
> +  }
> +}
> diff --git
> a/Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/BoardBoo
> tManagerLib.inf
> b/Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/BoardBoo
> tManagerLib.inf
> new file mode 100644
> index 00..38ff52ca81
> --- /dev/null
> +++
> b/Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/BoardBoo
> +++ tManagerLib.inf
&

Re: [edk2-devel] [edk2-platforms] [PATCH 09/11] SimicsOpenBoardPkg: Add Bds Hook Library

2019-12-20 Thread Kubacki, Michael A
Reviewed-by: Michael Kubacki 

> -Original Message-
> From: Agyeman, Prince 
> Sent: Friday, December 13, 2019 5:33 PM
> To: devel@edk2.groups.io
> Cc: Desimone, Nathaniel L ; Kubacki,
> Michael A 
> Subject: [edk2-platforms] [PATCH 09/11] SimicsOpenBoardPkg: Add Bds
> Hook Library
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2336
> 
> Added Board BDS Hook library that implements simics specific
> Bds hook points or callbacks.
> 
> Cc: Nate DeSimone 
> Cc: Michael Kubacki 
> 
> Signed-off-by: Prince Agyeman 
> ---
>  .../Library/BoardBdsHookLib/BoardBdsHook.h|  173 ++
>  .../Library/BoardBdsHookLib/BoardBdsHookLib.c | 1630
> +
>  .../BoardBdsHookLib/BoardBdsHookLib.inf   |   81 +
>  3 files changed, 1884 insertions(+)
>  create mode 100644
> Platform/Intel/SimicsOpenBoardPkg/Library/BoardBdsHookLib/BoardBdsHo
> ok.h
>  create mode 100644
> Platform/Intel/SimicsOpenBoardPkg/Library/BoardBdsHookLib/BoardBdsHo
> okLib.c
>  create mode 100644
> Platform/Intel/SimicsOpenBoardPkg/Library/BoardBdsHookLib/BoardBdsHo
> okLib.inf
> 
> diff --git
> a/Platform/Intel/SimicsOpenBoardPkg/Library/BoardBdsHookLib/BoardBdsH
> ook.h
> b/Platform/Intel/SimicsOpenBoardPkg/Library/BoardBdsHookLib/BoardBdsH
> ook.h
> new file mode 100644
> index 00..fda41b1c97
> --- /dev/null
> +++
> b/Platform/Intel/SimicsOpenBoardPkg/Library/BoardBdsHookLib/BoardBdsH
> ook.h
> @@ -0,0 +1,173 @@
> +/** @file
> +  Header file for the board board specific BDS hook library.
> +
> +  Copyright (c) 2019 Intel Corporation. All rights reserved. 
> +
> +  SPDX-License-Identifier: BSD-2-Clause-Patent
> +**/
> +
> +#ifndef _PLATFORM_SPECIFIC_BDS_PLATFORM_H_
> +#define _PLATFORM_SPECIFIC_BDS_PLATFORM_H_
> +
> +
> +#include 
> +
> +#include 
> +#include 
> +#include 
> +#include 
> +
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +
> +#include 
> +
> +extern EFI_DEVICE_PATH_PROTOCOL   *gPlatformConnectSequence[];
> +extern ACPI_HID_DEVICE_PATH   gPnpPs2KeyboardDeviceNode;
> +extern ACPI_HID_DEVICE_PATH   gPnp16550ComPortDeviceNode;
> +extern UART_DEVICE_PATH   gUartDeviceNode;
> +extern VENDOR_DEVICE_PATH gTerminalTypeDeviceNode;
> +
> +#define PCI_DEVICE_PATH_NODE(Func, Dev) \
> +  { \
> +{ \
> +  HARDWARE_DEVICE_PATH, \
> +  HW_PCI_DP, \
> +  { \
> +(UINT8) (sizeof (PCI_DEVICE_PATH)), \
> +(UINT8) ((sizeof (PCI_DEVICE_PATH)) >> 8) \
> +  } \
> +}, \
> +(Func), \
> +(Dev) \
> +  }
> +
> +#define PNPID_DEVICE_PATH_NODE(PnpId) \
> +  { \
> +{ \
> +  ACPI_DEVICE_PATH, \
> +  ACPI_DP, \
> +  { \
> +(UINT8) (sizeof (ACPI_HID_DEVICE_PATH)), \
> +(UINT8) ((sizeof (ACPI_HID_DEVICE_PATH)) >> 8) \
> +  }, \
> +}, \
> +EISA_PNP_ID((PnpId)), \
> +0 \
> +  }
> +
> +#define gPciIsaBridge \
> +  PCI_DEVICE_PATH_NODE(0, 0x1f)
> +
> +#define gP2PBridge \
> +  PCI_DEVICE_PATH_NODE(0, 0x1e)
> +
> +#define gPnpPs2Keyboard \
> +  PNPID_DEVICE_PATH_NODE(0x0303)
> +
> +#define gPnp16550ComPort \
> +  PNPID_DEVICE_PATH_NODE(0x0501)
> +
> +#define gUart \
> +  { \
> +{ \
> +  MESSAGING_DEVICE_PATH, \
> +  MSG_UART_DP, \
> +  { \
> +(UINT8) (sizeof (UART_DEVICE_PATH)), \
> +(UINT8) ((sizeof (UART_DEVICE_PATH)) >> 8) \
> +  } \
> +}, \
> +0, \
> +115200, \
> +8, \
> +1, \
> +1 \
> +  }
> +
> +#define gPcAnsiTerminal \
> +  { \
> +{ \
> +  MESSAGING_DEVICE_PATH, \
> +  MSG_VENDOR_DP, \
> +  { \
> +(UINT8) (sizeof (VENDOR_DEVICE_PATH)), \
> +(UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8) \
> +  } \
> +}, \
> +DEVICE_PATH_MESSAGING_PC_ANSI \
> +  }
> +
> +#define PCI_CLASS_SCC  0x07
> +#define PCI_SUBCLASS_SERIAL0x00
> +#define PCI_IF_16550   0x02
> +#define IS_PCI_16550SERIAL(_p)   IS_CLASS3 (_p, PCI_CLASS_SCC,
> PCI_SUBCLASS_SERIAL, PCI_IF_16550)
> +#define IS_PCI_ISA_PDECODE(_p)IS_CLASS3 (_p, PCI_CLASS_BRIDGE,
> PCI_CLASS_BRIDGE_ISA_PDECODE, 0)
> +

Re: [edk2-devel] [edk2-platforms] [PATCH 05/11] MinPlatformPkg: Add BDS Hook Points

2019-12-20 Thread Kubacki, Michael A
Reviewed-by: Michael Kubacki 

> -Original Message-
> From: Agyeman, Prince 
> Sent: Friday, December 13, 2019 5:33 PM
> To: devel@edk2.groups.io
> Cc: Kubacki, Michael A ; Chiu, Chasel
> ; Desimone, Nathaniel L
> 
> Subject: [edk2-platforms] [PATCH 05/11] MinPlatformPkg: Add BDS Hook
> Points
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2336
> 
> Added BDS hook points to the Minplatform boot manager library
> as defined in the Minimum Platfrom specifcations.
> 
> Changes made:
> 
> * Added functions to signal three BDS event groups.
> These event groups are BeforeConsoleAfterTrustedConsole,
> BeforeConsoleBeforeEndOfDxe and AfterConsoleReadyBeforeBootOption.
> 
> * Removed BDS functionalities from the boot manager library.
> These functionalities will be added to callbacks a module in BoardModule,
> which will then register/hook to the BDS hook points
> 
> See https://edk2-docs.gitbooks.io/edk-ii-minimum-platform-specification,
> under Appendix A.3 BDS Hook Points, for more details.
> 
> Cc: Michael Kubacki 
> Cc: Chasel Chiu 
> Cc: Nate DeSimone 
> 
> Signed-off-by: Prince Agyeman 
> ---
>  .../DxePlatformBootManagerLib/BdsPlatform.c   | 1262 ++---
>  .../DxePlatformBootManagerLib/BdsPlatform.h   |  181 +--
>  .../DxePlatformBootManagerLib.inf |   51 +-
>  .../DxePlatformBootManagerLib/MemoryTest.c|   83 --
>  .../PlatformBootOption.c  |  559 
>  5 files changed, 112 insertions(+), 2024 deletions(-)
>  delete mode 100644
> Platform/Intel/MinPlatformPkg/Bds/Library/DxePlatformBootManagerLib/M
> emoryTest.c
>  delete mode 100644
> Platform/Intel/MinPlatformPkg/Bds/Library/DxePlatformBootManagerLib/Pl
> atformBootOption.c
> 
> diff --git
> a/Platform/Intel/MinPlatformPkg/Bds/Library/DxePlatformBootManagerLib/
> BdsPlatform.c
> b/Platform/Intel/MinPlatformPkg/Bds/Library/DxePlatformBootManagerLib
> /BdsPlatform.c
> index 491fb0f26f..31a9ef4a07 100644
> ---
> a/Platform/Intel/MinPlatformPkg/Bds/Library/DxePlatformBootManagerLib/
> BdsPlatform.c
> +++
> b/Platform/Intel/MinPlatformPkg/Bds/Library/DxePlatformBootManagerLib
> /BdsPlatform.c
> @@ -1,130 +1,14 @@
>  /** @file
>This file include all platform action which can be customized by IBV/OEM.
> 
> -Copyright (c) 2017, Intel Corporation. All rights reserved.
> +Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.
>  SPDX-License-Identifier: BSD-2-Clause-Patent
> 
>  **/
> 
>  #include "BdsPlatform.h"
> -#include 
> -#include 
> -#include 
> -#include 
> 
> -#include 
> -#include 
> -#include 
> -#include 
> -#include 
> -
> -#include 
> -
> -#include 
> -#include 
> -
> -#include 
> -
> -GLOBAL_REMOVE_IF_UNREFERENCED EFI_BOOT_MODE
> gBootMode;
> -
> -BOOLEAN  gPPRequireUIConfirm;
> -
> -extern UINTN  mBootMenuOptionNumber;
> -
> -GLOBAL_REMOVE_IF_UNREFERENCED USB_CLASS_FORMAT_DEVICE_PATH
> gUsbClassKeyboardDevicePath = {
> -  {
> -{
> -  MESSAGING_DEVICE_PATH,
> -  MSG_USB_CLASS_DP,
> -  {
> -(UINT8) (sizeof (USB_CLASS_DEVICE_PATH)),
> -(UINT8) ((sizeof (USB_CLASS_DEVICE_PATH)) >> 8)
> -  }
> -},
> -0x,   // VendorId
> -0x,   // ProductId
> -CLASS_HID,// DeviceClass
> -SUBCLASS_BOOT,// DeviceSubClass
> -PROTOCOL_KEYBOARD // DeviceProtocol
> -  },
> -  gEndEntire
> -};
> -
> -//
> -// Internal shell mode
> -//
> -GLOBAL_REMOVE_IF_UNREFERENCED UINT32 mShellModeColumn;
> -GLOBAL_REMOVE_IF_UNREFERENCED UINT32 mShellModeRow;
> -GLOBAL_REMOVE_IF_UNREFERENCED UINT32
> mShellHorizontalResolution;
> -GLOBAL_REMOVE_IF_UNREFERENCED UINT32
> mShellVerticalResolution;
> -//
> -// BDS Platform Functions
> -//
> -
> -BOOLEAN
> -IsMorBitSet (
> -  VOID
> -  )
> -{
> -  UINTN MorControl;
> -  EFI_STATUSStatus;
> -  UINTN DataSize;
> -
> -  //
> -  // Check if the MOR bit is set.
> -  //
> -  DataSize = sizeof (MorControl);
> -  Status = gRT->GetVariable (
> -  MEMORY_OVERWRITE_REQUEST_VARIABLE_NAME,
> -  ,
> -  NULL,
> -  ,
> -  
> -  );
> -  if (EFI_ERROR (Status)) {
> -DEBUG ((DEBUG_INFO, " PlatformBootMangerLib:
> gEfiMemoryOverwriteControlDataGuid doesn't exist!!***\n"));
> -MorControl = 0;
> -  } else {
> -DEBUG ((DEBUG_INFO, " PlatformBootMangerLib: Get the
> 

Re: [edk2-devel] [edk2-platforms] [PATCH 01/11] MinPlatformPkg: Add BDS Hook Point Guids

2019-12-20 Thread Kubacki, Michael A
Reviewed-by: Michael Kubacki 

> -Original Message-
> From: Agyeman, Prince 
> Sent: Friday, December 13, 2019 5:32 PM
> To: devel@edk2.groups.io
> Cc: Kubacki, Michael A ; Chiu, Chasel
> ; Desimone, Nathaniel L
> 
> Subject: [edk2-platforms] [PATCH 01/11] MinPlatformPkg: Add BDS Hook
> Point Guids
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2336
> 
> Added BDS hook point guids as defined in the Minimum Platform
> specification. These GUIDs shall be used in the identification of three of the
> BDS hook point event groups.
> 
> These event groups are Before Console After Trusted, Before Console
> Before End Of Dxe and After Console Ready Before BootOption events.
> 
> See https://edk2-docs.gitbooks.io/edk-ii-minimum-platform-specification,
> under Appendix A.3 BDS Hook Points, for more details
> 
> Cc: Michael Kubacki 
> Cc: Chasel Chiu 
> Cc: Nate DeSimone 
> 
> Signed-off-by: Prince Agyeman 
> ---
>  Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec | 5 +
>  1 file changed, 5 insertions(+)
> 
> diff --git a/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec
> b/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec
> index 7f74ac9380..5bec4eee3a 100644
> --- a/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec
> +++ b/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec
> @@ -46,6 +46,11 @@
>gDefaultDataFileGuid  = {0x1ae42876, 0x008f, 0x4161, {0xb2, 
> 0xb7,
> 0x1c, 0x0d, 0x15, 0xc5, 0xef, 0x43}}
>gDefaultDataOptSizeFileGuid   = {0x003e7b41, 0x98a2, 0x4be2, {0xb2,
> 0x7a, 0x6c, 0x30, 0xc7, 0x65, 0x52, 0x25}}
> 
> +  # BDS Hook point event Guids
> +  gBdsEventBeforeConsoleAfterTrustedConsoleGuid  = {0x51e49ff5, 0x28a9,
> 0x4159, { 0xac, 0x8a, 0xb8, 0xc4, 0x88, 0xa7, 0xfd, 0xee}}
> +  gBdsEventBeforeConsoleBeforeEndOfDxeGuid   = {0xfcf26e41, 0xbda6,
> 0x4633, { 0xb5, 0x73, 0xd4, 0xb8, 0x0e, 0x6d, 0xd0, 0x78}}
> +  gBdsEventAfterConsoleReadyBeforeBootOptionGuid = {0x8eb3d5dc,
> 0xf4e7,
> + 0x4b57, { 0xa9, 0xe7, 0x27, 0x39, 0x10, 0xf2, 0x18, 0x9f}}
> +
>  [LibraryClasses]
> 
>PeiLib|Include/Library/PeiLib.h
> --
> 2.19.1.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#52465): https://edk2.groups.io/g/devel/message/52465
Mute This Topic: https://groups.io/mt/68590722/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel] [edk2-platforms] [PATCH 04/11] MinPlatformPkg: Add BDS Board Boot Manager library

2019-12-20 Thread Kubacki, Michael A
Since BoardBootManagerWaitCallback () is a new function, please add @param[in] 
for the TimeoutRemain parameter.

With that change - Reviewed-by: Michael Kubacki 

> -Original Message-
> From: Agyeman, Prince 
> Sent: Friday, December 13, 2019 5:33 PM
> To: devel@edk2.groups.io
> Cc: Kubacki, Michael A ; Chiu, Chasel
> ; Desimone, Nathaniel L
> 
> Subject: [edk2-platforms] [PATCH 04/11] MinPlatformPkg: Add BDS Board
> Boot Manager library
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2336
> 
> As Minplatform's PlatformBootManager library instance implements event
> signals (as specified in the minimum platform specification) to trigger board
> actions, some of its functions namely PlatformBootManagerWaitCallback and
> PlatformBootManagerUnableToBoot will not have events signaled for boards
> to take action.
> 
> This library implements PlatformBootManagerWaitCallback and
> PlatformBootManagerUnableToBoot which will be linked to Minplatform's
> PlatformBootManager libary instance.
> 
> Added is an interface/header file that defines the board boot manager
> library.
> 
> Also added is a NULL implementation of the board boot manager library
> 
> Cc: Michael Kubacki 
> Cc: Chasel Chiu 
> Cc: Nate DeSimone 
> 
> Signed-off-by: Prince Agyeman 
> ---
>  .../BoardBootManagerLib.c | 38 ++
>  .../BoardBootManagerLibNull.inf   | 31 +++
>  .../Include/Library/BoardBootManagerLib.h | 39 +++
>  3 files changed, 108 insertions(+)
>  create mode 100644
> Platform/Intel/MinPlatformPkg/Bds/Library/BoardBootManagerLibNull/Boar
> dBootManagerLib.c
>  create mode 100644
> Platform/Intel/MinPlatformPkg/Bds/Library/BoardBootManagerLibNull/Boar
> dBootManagerLibNull.inf
>  create mode 100644
> Platform/Intel/MinPlatformPkg/Include/Library/BoardBootManagerLib.h
> 
> diff --git
> a/Platform/Intel/MinPlatformPkg/Bds/Library/BoardBootManagerLibNull/Bo
> ardBootManagerLib.c
> b/Platform/Intel/MinPlatformPkg/Bds/Library/BoardBootManagerLibNull/Bo
> ardBootManagerLib.c
> new file mode 100644
> index 00..46fce8f59f
> --- /dev/null
> +++
> b/Platform/Intel/MinPlatformPkg/Bds/Library/BoardBootManagerLibNull/
> +++ BoardBootManagerLib.c
> @@ -0,0 +1,38 @@
> +/** @file
> +  This file include board specific boot manager callbacks
> +
> +  Copyright (c) 2018, Intel Corporation. All rights reserved.
> +  SPDX-License-Identifier: BSD-2-Clause-Patent **/
> +
> +#include 
> +
> +/**
> +  This function is called each second during the boot manager waits timeout.
> +
> +  @param TimeoutRemain  The remaining timeout.
> +**/
> +VOID
> +EFIAPI
> +BoardBootManagerWaitCallback (
> +  IN UINT16  TimeoutRemain
> +  )
> +{
> +  return;
> +}
> +
> +/**
> +  The function is called when no boot option could be launched,
> +  including platform recovery options and options pointing to
> +applications
> +  built into firmware volumes.
> +
> +**/
> +VOID
> +EFIAPI
> +BoardBootManagerUnableToBoot (
> +  VOID
> +  )
> +{
> +  return;
> +}
> +
> diff --git
> a/Platform/Intel/MinPlatformPkg/Bds/Library/BoardBootManagerLibNull/Bo
> ardBootManagerLibNull.inf
> b/Platform/Intel/MinPlatformPkg/Bds/Library/BoardBootManagerLibNull/Bo
> ardBootManagerLibNull.inf
> new file mode 100644
> index 00..084207b111
> --- /dev/null
> +++
> b/Platform/Intel/MinPlatformPkg/Bds/Library/BoardBootManagerLibNull/
> +++ BoardBootManagerLibNull.inf
> @@ -0,0 +1,31 @@
> +## @file
> +#  The module definition file for BoardBootManagerLib.
> +#
> +#  Copyright (c) 2019, Intel Corporation. All rights reserved. #
> +SPDX-License-Identifier: BSD-2-Clause-Patent # ##
> +
> +[Defines]
> +  INF_VERSION= 0x00010005
> +  BASE_NAME  = BoardBootManagerLib
> +  FILE_GUID  = 7BA684A4-5B32-4F0C-B0FF-581F143E606C
> +  MODULE_TYPE= DXE_DRIVER
> +  VERSION_STRING = 1.0
> +  LIBRARY_CLASS  = BoardBootManagerLib|DXE_DRIVER
> +
> +
> +#
> +# The following information is for reference only and not required by the
> build tools.
> +#
> +#  VALID_ARCHITECTURES   = IA32 X64 EBC
> +#
> +
> +[Sources]
> +  BoardBootManagerLib.c
> +
> +
> +[Packages]
> +  MdePkg/MdePkg.dec
> +  MdeModulePkg/MdeModulePkg.dec
> +  MinPlatformPkg/MinPlatformPkg.dec
> diff --git
> a/Platform/Intel/MinPlatformPkg/Include/Library/BoardBootManagerLib.h
> b/Platform/Intel/MinPlatformPkg/Include/Library/BoardBootManagerLib.h
> new file mode 100644
> index 00..4240142073
>

Re: [edk2-devel] [edk2-platforms] [PATCH 11/11] SimicsOpenBoardPkg: Add Bds Hook Points

2019-12-20 Thread Kubacki, Michael A
Reviewed-by: Michael Kubacki 

> -Original Message-
> From: Agyeman, Prince 
> Sent: Friday, December 13, 2019 5:33 PM
> To: devel@edk2.groups.io
> Cc: Kubacki, Michael A ; Chiu, Chasel
> ; Desimone, Nathaniel L
> 
> Subject: [edk2-platforms] [PATCH 11/11] SimicsOpenBoardPkg: Add Bds
> Hook Points
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2336
> 
> Added a DXE driver that registers the minimum platform BDS hook points, to
> BoardX58Ich10 board.
> These hooks are triggered on the BDS hook events
> 
> What was done:
> 
> * Included a board specific instance of BoardBdsHookLib and
> BoardBootManagerLib
> 
> * Included Minplatforms PlatformBootManagerLib instance.
> This Library instance signals the Bds event groups
> 
> * Included BoardBdsHookDxe to register the callbacks implemented in
> BoardBdsHookLib
> 
> Cc: Michael Kubacki 
> Cc: Chasel Chiu 
> Cc: Nate DeSimone 
> 
> Signed-off-by: Prince Agyeman 
> ---
>  .../SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkg.dsc  | 10
> +-  .../SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkg.fdf  |
> 1 +
>  2 files changed, 10 insertions(+), 1 deletion(-)
> 
> diff --git
> a/Platform/Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkg.dsc
> b/Platform/Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkg.dsc
> index 7576648d57..350a75a313 100644
> ---
> a/Platform/Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkg.dsc
> +++
> b/Platform/Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkg.dsc
> @@ -146,10 +146,17 @@
> 
> SetCacheMtrrLib|$(PLATFORM_PACKAGE)/Library/SetCacheMtrrLib/SetCac
> heMtrrLib.inf
> 
>  [LibraryClasses.common.DXE_DRIVER]
> +
> +  #
> +  # Platform Package
> +  #
> +
> +
> PlatformBootManagerLib|$(PLATFORM_PACKAGE)/Bds/Library/DxePlatfor
> mBoot
> + ManagerLib/DxePlatformBootManagerLib.inf
> +
>###
># Board Package
>###
> -
> PlatformBootManagerLib|$(BOARD_PKG)/Library/PlatformBootManagerLib/
> PlatformBootManagerLib.inf
> +
> +
> BoardBdsHookLib|$(BOARD_PKG)/Library/BoardBdsHookLib/BoardBdsHook
> Lib.i
> + nf
> +
> BoardBootManagerLib|$(BOARD_PKG)/Library/BoardBootManagerLib/Boar
> dBoot
> + ManagerLib.inf
> 
>  [LibraryClasses.common.DXE_SMM_DRIVER]
>###
> @@ -294,3 +301,4 @@
>$(BOARD_PKG)/SimicsVideoDxe/SimicsVideoDxe.inf
>$(BOARD_PKG)/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
>BoardModulePkg/LegacySioDxe/LegacySioDxe.inf
> +  BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.inf
> diff --git
> a/Platform/Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkg.fdf
> b/Platform/Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkg.fdf
> index e0a1daddee..99bf607775 100644
> --- a/Platform/Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkg.fdf
> +++
> b/Platform/Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkg.fdf
> @@ -213,6 +213,7 @@ INF
> MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
>  INF  MinPlatformPkg/Flash/SpiFvbService/SpiFvbServiceSmm.inf
>  INF  MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
>  INF  BoardModulePkg/LegacySioDxe/LegacySioDxe.inf
> +INF  BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.inf
> 
>  INF  MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf
> 
> --
> 2.19.1.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#52474): https://edk2.groups.io/g/devel/message/52474
Mute This Topic: https://groups.io/mt/68590741/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel] [edk2-platforms] [PATCH 03/11] BoardModulePkg: Add BDS Hook DXE Driver

2019-12-20 Thread Kubacki, Michael A
Reviewed-by: Michael Kubacki 

> -Original Message-
> From: Agyeman, Prince 
> Sent: Friday, December 13, 2019 5:32 PM
> To: devel@edk2.groups.io
> Cc: Kubacki, Michael A ; Chiu, Chasel
> ; Desimone, Nathaniel L
> 
> Subject: [edk2-platforms] [PATCH 03/11] BoardModulePkg: Add BDS Hook
> DXE Driver
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2336
> 
> This is a sample/generic DXE driver that registers all the BDS hook points or
> callbacks as defined in BoardBdsHookLib.
> 
> Cc: Michael Kubacki 
> Cc: Chasel Chiu 
> Cc: Nate DeSimone 
> 
> Signed-off-by: Prince Agyeman 
> ---
>  .../BoardBdsHookDxe/BoardBdsHookDxe.c | 121 ++
>  .../BoardBdsHookDxe/BoardBdsHookDxe.inf   |  46 +++
>  2 files changed, 167 insertions(+)
>  create mode 100644
> Platform/Intel/BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.c
>  create mode 100644
> Platform/Intel/BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.inf
> 
> diff --git
> a/Platform/Intel/BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.c
> b/Platform/Intel/BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.c
> new file mode 100644
> index 00..88eb7d70e9
> --- /dev/null
> +++
> b/Platform/Intel/BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.c
> @@ -0,0 +1,121 @@
> +/** @file
> +  Bds Hook Point callbacks DXE driver
> +
> +  Copyright (c) 2019, Intel Corporation. All rights reserved.
> +  SPDX-License-Identifier: BSD-2-Clause-Patent
> +
> +**/
> +
> +#include  #include
> +
> +#include 
> +#include 
> +#include 
> +
> +#include 
> +
> +/**
> +  Initialize  DXE Platform.
> +
> +  @param[in] ImageHandle   Image handle of this driver.
> +  @param[in] SystemTable   Global system service table.
> +
> +  @retval EFI_SUCCESS   Initialization complete.
> +  @exception EFI_UNSUPPORTED   The chipset is unsupported by this
> driver.
> +  @retval EFI_OUT_OF_RESOURCES  Do not have enough resources to
> initialize the driver.
> +  @retval EFI_DEVICE_ERROR  Device error, driver exits abnormally.
> +**/
> +EFI_STATUS
> +EFIAPI
> +BdsHookDxeEntryPoint (
> +  IN EFI_HANDLE   ImageHandle,
> +  IN EFI_SYSTEM_TABLE *SystemTable
> +  )
> +{
> +  EFI_EVENT   BeforeConsoleAfterTrustedConsoleEvent;
> +  EFI_EVENT   BeforeConsoleBeforeEndOfDxeEvent;
> +  EFI_EVENT   AfterConsoleReadyBeforeBootOptionEvent;
> +  EFI_EVENT   ReadyToBootEvent;
> +  EFI_EVENT   PciEnumCompleteEvent;
> +  EFI_EVENT   SmmReadyToLockEvent;
> +  EFI_STATUS  Status;
> +  VOID*Registration;
> +
> +  DEBUG ((DEBUG_INFO, "%a starts\n", __FUNCTION__ ));
> +
> +  //
> +  // Create event to set proper video resolution and text mode for internal
> shell.
> +  //
> +  Status = EfiCreateEventReadyToBootEx (
> + TPL_CALLBACK,
> + BdsReadyToBootCallback,
> + NULL,
> + 
> + );
> +  ASSERT_EFI_ERROR (Status);
> +
> +  //
> +  // Create PCI Enumeration Completed callback for BDS  //
> + PciEnumCompleteEvent = EfiCreateProtocolNotifyEvent (
> +   ,
> +   TPL_CALLBACK,
> +   BdsPciEnumCompleteCallback,
> +   NULL,
> +   
> +   );
> +  ASSERT (PciEnumCompleteEvent != NULL);
> +
> +  //
> +  // Create PCI Enumeration Completed callback for BDS  //
> + SmmReadyToLockEvent = EfiCreateProtocolNotifyEvent (
> +  ,
> +  TPL_CALLBACK,
> +  BdsSmmReadyToLockCallback,
> +  NULL,
> +  
> +  );
> +  ASSERT (SmmReadyToLockEvent != NULL);
> +
> +  //
> +  // Create BeforeConsoleAfterTrustedConsole event callback  //  Status
> + = gBS->CreateEventEx (
> +  EVT_NOTIFY_SIGNAL,
> +  TPL_CALLBACK,
> +  BdsBeforeConsoleAfterTrustedConsoleCallback,
> +  NULL,
> +  ,
> +  
> +  );
> +  ASSERT_EFI_ERROR (Status);
> +
> +  //
> +  // Create BeforeConsoleBeforeEndOfDxeGuid event callback  //  Status
> + = gBS->CreateEventEx (
> +  EVT_NOTIFY_SIGNAL,
> +  TPL_CALLBACK,
> +  BdsBeforeConsoleBeforeEndOfDxeGuidCallback,
> +  NULL,
> +  ,
> +  
> +  );
> +  ASSERT_EFI_ERROR (Status);
> +
> +  //
> +  // Create AfterConsoleReadyBeforeBootOption event callback  //
&

Re: [edk2-devel] [edk2-platforms] [PATCH 08/11] WhiskeylakeOpenBoardPkg: Add BDS Hook Dxe Driver

2019-12-20 Thread Kubacki, Michael A
Reviewed-by: Michael Kubacki 

> -Original Message-
> From: Agyeman, Prince 
> Sent: Friday, December 13, 2019 5:33 PM
> To: devel@edk2.groups.io
> Cc: Kubacki, Michael A ; Chiu, Chasel
> ; Desimone, Nathaniel L
> 
> Subject: [edk2-platforms] [PATCH 08/11] WhiskeylakeOpenBoardPkg: Add
> BDS Hook Dxe Driver
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2336
> 
> Added a DXE driver that registers the minimum platform BDS hook points, to
> WhiskeylakeURvp board.
> These hooks are triggered on the BDS hook events
> 
> What was done:
> 
> * Included an instance of BdsHookLib and BoardBootManagerLib from
> BoardModulePkg
> 
> * Included BdsHookDxe to register the callbacks implemented in BdsHookLib
> 
> Cc: Michael Kubacki 
> Cc: Chasel Chiu 
> Cc: Nate DeSimone 
> 
> Signed-off-by: Prince Agyeman 
> ---
>  .../WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoardPkg.dsc  | 4
>   .../WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoardPkg.fdf
> | 1 +
>  2 files changed, 5 insertions(+)
> 
> diff --git
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoard
> Pkg.dsc
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoard
> Pkg.dsc
> index 47e156be08..1a9e608bd6 100644
> ---
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoard
> Pkg.dsc
> +++
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoard
> Pk
> +++ g.dsc
> @@ -224,6 +224,8 @@
>###
> 
> DxePolicyUpdateLib|$(PLATFORM_BOARD_PACKAGE)/Policy/Library/DxePol
> icyUpdateLib/DxePolicyUpdateLib.inf
> 
> DxeTbtPolicyLib|$(PLATFORM_BOARD_PACKAGE)/Features/Tbt/Library/Dxe
> TbtPolicyLib/DxeTbtPolicyLib.inf
> +
> +
> BoardBdsHookLib|BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHoo
> kLib
> + .inf
> +
> BoardBootManagerLib|BoardModulePkg/Library/BoardBootManagerLib/Boa
> rdBo
> + otManagerLib.inf
> 
>###
># Board-specific
> @@ -452,3 +454,5 @@
>$(PLATFORM_BOARD_PACKAGE)/Acpi/BoardAcpiDxe/BoardAcpiDxe.inf
>  !endif
>BoardModulePkg/LegacySioDxe/LegacySioDxe.inf
> +  BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.inf
> +
> diff --git
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoard
> Pkg.fdf
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoard
> Pkg.fdf
> index f39b41b186..ad32268a82 100644
> ---
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoard
> Pkg.fdf
> +++
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoard
> Pk
> +++ g.fdf
> @@ -346,6 +346,7 @@ INF
> MdeModulePkg/Universal/Console/GraphicsOutputDxe/GraphicsOutputDx
> e.inf
>  INF  MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
>  INF  BoardModulePkg/LegacySioDxe/LegacySioDxe.inf
>  INF  MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf
> +INF  BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.inf
> 
>  INF  ShellPkg/Application/Shell/Shell.inf
> 
> --
> 2.19.1.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#52472): https://edk2.groups.io/g/devel/message/52472
Mute This Topic: https://groups.io/mt/68590738/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel] [edk2-platforms] [PATCH 07/11] KabylakeOpenBoardPkg: Add BDS Hook Dxe Driver

2019-12-20 Thread Kubacki, Michael A
Reviewed-by: Michael Kubacki 

> -Original Message-
> From: Agyeman, Prince 
> Sent: Friday, December 13, 2019 5:33 PM
> To: devel@edk2.groups.io
> Cc: Kubacki, Michael A ; Chiu, Chasel
> ; Desimone, Nathaniel L
> 
> Subject: [edk2-platforms] [PATCH 07/11] KabylakeOpenBoardPkg: Add BDS
> Hook Dxe Driver
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2336
> 
> Added a DXE driver that registers the minimum platform BDS hook points for
> the GalagoPro3 and KabylakeRvp3 boards.
> These hooks are triggered on the BDS hook events
> 
> What was done:
> 
> * Included an instance of BoardBdsHookLib and BoardBootManagerLib from
> BoardModulePkg
> 
> * Included BdsHookDxe to register the callbacks implemented in
> BoardBdsHookLib
> 
> Cc: Michael Kubacki 
> Cc: Chasel Chiu 
> Cc: Nate DeSimone 
> 
> Signed-off-by: Prince Agyeman 
> ---
>  .../Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkg.dsc | 7
> +++  .../Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkg.fdf |
> 1 +
>  .../KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.dsc | 6 ++
>  .../KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.fdf | 1 +
>  4 files changed, 15 insertions(+)
> 
> diff --git
> a/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkg.dsc
> b/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkg.dsc
> index a39547f41f..bf63d53bef 100644
> --- a/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkg.dsc
> +++
> b/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkg.dsc
> @@ -201,6 +201,12 @@
> 
> TestPointCheckLib|$(PLATFORM_PACKAGE)/Test/Library/TestPointCheckLib
> /DxeTestPointCheckLib.inf
>  !endif
> 
> +  ###
> +  # Board Package
> +  ###
> +
> +
> BoardBdsHookLib|BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHoo
> kLib
> + .inf
> +
> BoardBootManagerLib|BoardModulePkg/Library/BoardBootManagerLib/Boa
> rdBo
> + otManagerLib.inf
> +
>###
># Board-specific
>###
> @@ -425,3 +431,4 @@
>}
>  !endif
>BoardModulePkg/LegacySioDxe/LegacySioDxe.inf
> +  BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.inf
> diff --git
> a/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkg.fdf
> b/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkg.fdf
> index da94ed0cd1..196f04c68d 100644
> --- a/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkg.fdf
> +++
> b/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkg.fdf
> @@ -341,6 +341,7 @@ INF
> MdeModulePkg/Universal/Console/GraphicsOutputDxe/GraphicsOutputDx
> e.inf
>  INF  MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
>  INF  BoardModulePkg/LegacySioDxe/LegacySioDxe.inf
>  INF  MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf
> +INF  BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.inf
> 
>  INF  ShellPkg/Application/Shell/Shell.inf
> 
> diff --git
> a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.dsc
> b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.dsc
> index 50be2bb624..044688ba4e 100644
> ---
> a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.dsc
> +++
> b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.dsc
> @@ -241,6 +241,11 @@
>  !if $(TARGET) == DEBUG
> 
> TestPointCheckLib|$(PLATFORM_PACKAGE)/Test/Library/TestPointCheckLib
> /DxeTestPointCheckLib.inf
>  !endif
> +  ###
> +  # Board Package
> +  ###
> +
> +
> BoardBdsHookLib|BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHoo
> kLib
> + .inf
> +
> BoardBootManagerLib|BoardModulePkg/Library/BoardBootManagerLib/Boa
> rdBo
> + otManagerLib.inf
> 
>###
># Board-specific
> @@ -505,3 +510,4 @@
>}
>  !endif
>BoardModulePkg/LegacySioDxe/LegacySioDxe.inf
> +  BoardModulePkg/BoardBdsHookDxe/BoardBdsHookDxe.inf
> diff --git
> a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.fdf
> b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.fdf
> index fc1c6a9c25..f2cfff1c7b 100644
> ---
> a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.fdf
> +++
> b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.fdf
> @@ -343,6 +343,7 @@ INF
> MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
>  INF
> MdeModulePkg/Universal/Console/GraphicsOutputDxe/GraphicsOutputDx
> e.inf
>  INF  BoardModulePkg/LegacySioDxe/LegacySioDxe.inf
>  INF  MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2Keybo

[edk2-devel] [edk2-platforms][PATCH V1 1/1] Features/Intel/AcpiDebugFeaturePkg: Add feature active PCD

2019-12-18 Thread Kubacki, Michael A
Adds a dynamic PCD that specifies whether the feature is active.

This is useful because the feature might be enabled via FeatureFlag
PCD PcdAcpiDebugFeatureEnable meaning it is built and included in
the flash image but the board might need to control whether the
feature is active based on input such as a Setup menu option.

A deactivated feature will be dispatched but simply exit in the
entry point.

Cc: Sai Chaganty 
Cc: Chasel Chiu 
Cc: Eric Dong 
Cc: Liming Gao 
Signed-off-by: Michael Kubacki 
---
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec  
| 14 +-
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf 
|  5 +++--
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf 
|  5 +++--
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebug.c  
|  4 
 Features/Intel/Debugging/AcpiDebugFeaturePkg/Readme.md
|  1 +
 5 files changed, 24 insertions(+), 5 deletions(-)

diff --git 
a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec 
b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
index a74ee3e084..c3bd89fe2b 100644
--- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
+++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
@@ -34,6 +34,18 @@
   
gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugBufferSize|0x1|UINT32|0xF001
 
 [PcdsDynamic, PcdsDynamicEx]
+  ## This PCD specifies whether the feature is active.
+  #
+  #  The PCD value can be modified at boot time to activate and deactivate the 
feature functionality.
+  #
+  #  Note that this differs from PcdFeatureEnable 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.
+  #
+  #  An enabled but deactivated feature will be dispatched but exit in its 
entry point without performing any
+  #  feature actions.
+  
gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureActive|TRUE|BOOLEAN|0xD001
+
   ## This PCD specifies ACPI debug message buffer address.
   #  The PCD value will be updated during boot time when the buffer is 
allocated.
-  gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugAddress|0|UINT32|0xD001
+  gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugAddress|0|UINT32|0xD002
diff --git 
a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf 
b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf
index dfcee0a842..b293d83cd9 100644
--- 
a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf
+++ 
b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf
@@ -35,8 +35,9 @@
   Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
 
 [Pcd]
-  gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugBufferSize  ## CONSUMES
-  gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugAddress ## PRODUCES
+  gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureActive  ## CONSUMES
+  gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugBufferSize ## CONSUMES
+  gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugAddress## PRODUCES
 
 [Sources]
   AcpiDebug.c
diff --git 
a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf 
b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf
index 089bb57707..dbb33e4ae2 100644
--- 
a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf
+++ 
b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf
@@ -36,8 +36,9 @@
   Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
 
 [Pcd]
-  gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugBufferSize  ## CONSUMES
-  gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugAddress ## PRODUCES
+  gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureActive  ## CONSUMES
+  gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugBufferSize ## CONSUMES
+  gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugAddress## PRODUCES
 
 [Sources]
   AcpiDebug.c
diff --git 
a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebug.c 
b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebug.c
index 42428d8005..4caeffc7de 100644
--- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebug.c
+++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebug.c
@@ -289,6 +289,10 @@ InitializeAcpiDebugDxe (
   EFI_STATUSStatus;
   EFI_EVENT EndOfDxeEvent;
 
+  if (!PcdGetBool (PcdAcpiDebugFeatureActive)) {
+return EFI_SUCCESS;
+  }
+
   //
   // Register EndOfDxe notification
   // that point could ensure the Acpi Debug related PCDs initialized.
diff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Readme.md 
b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Readme.md
index 

Re: [edk2-devel] [edk2-platforms] [PATCH 01/11] MinPlatformPkg: Add BDS Hook Point Guids

2019-12-17 Thread Kubacki, Michael A
Hi Ray,

There could be usage of SimpleTextIn->ReadKeyStroke () in 
PlatformBootManagerWaitCallback () and PlatformBootManagerUnableToBoot (). The 
PlatformBootManagerLib instance introduced in MinPlatformPkg simply forwards 
those calls to a library instance of BoardBootManagerLib implemented in the 
board package so they will still be invoked at TPL_APPLICATION.

A specific use case that requires TPL_APPLICATION (the restriction is 
relatively minimal) has not been identified in the analysis of use cases that 
led to the event hook points introduced in PlatformBootManagerLib.

Thanks,
Michael

> -Original Message-
> From: Ni, Ray 
> Sent: Monday, December 16, 2019 12:50 AM
> To: Kubacki, Michael A 
> Cc: Desimone, Nathaniel L ;
> devel@edk2.groups.io; Chiu, Chasel ; Agyeman,
> Prince 
> Subject: RE: [edk2-devel] [edk2-platforms] [PATCH 01/11] MinPlatformPkg:
> Add BDS Hook Point Guids
> 
> Using event for callbacks has a limitation: The event callback has to run at 
> TPL
> >= TPL_CALLBACK.
> 
> Some of the services like gBS->LoadImage()/StartImage(), SimpleTextIn-
> >ReadKeyStroke(),
> FormBrowser->SendForm() can ONLY be called at TPL_APPLICATION.
> So those services cannot be called from the event callback.
> 
> Is that ok to the min-platform?
> 
> Thanks,
> Ray
> 
> 
> > -Original Message-
> > From: devel@edk2.groups.io  On Behalf Of Chiu,
> > Chasel
> > Sent: Monday, December 16, 2019 9:32 AM
> > To: Agyeman, Prince ; devel@edk2.groups.io
> > Cc: Kubacki, Michael A ; Desimone,
> > Nathaniel L 
> > Subject: Re: [edk2-devel] [edk2-platforms] [PATCH 01/11] MinPlatformPkg:
> > Add BDS Hook Point Guids
> >
> >
> > Reviewed-by: Chasel Chiu 
> >
> > > -Original Message-
> > > From: Agyeman, Prince 
> > > Sent: Saturday, December 14, 2019 9:32 AM
> > > To: devel@edk2.groups.io
> > > Cc: Kubacki, Michael A ; Chiu, Chasel
> > > ; Desimone, Nathaniel L
> > > 
> > > Subject: [edk2-platforms] [PATCH 01/11] MinPlatformPkg: Add BDS Hook
> > > Point Guids
> > >
> > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2336
> > >
> > > Added BDS hook point guids as defined in the Minimum Platform
> > > specification. These GUIDs shall be used in the identification of
> > > three of the BDS hook point event groups.
> > >
> > > These event groups are Before Console After Trusted, Before Console
> > Before
> > > End Of Dxe and After Console Ready Before BootOption events.
> > >
> > > See
> > > https://edk2-docs.gitbooks.io/edk-ii-minimum-platform-specification,
> > > under Appendix A.3 BDS Hook Points, for more details
> > >
> > > Cc: Michael Kubacki 
> > > Cc: Chasel Chiu 
> > > Cc: Nate DeSimone 
> > >
> > > Signed-off-by: Prince Agyeman 
> > > ---
> > >  Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec | 5 +
> > >  1 file changed, 5 insertions(+)
> > >
> > > diff --git a/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec
> > > b/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec
> > > index 7f74ac9380..5bec4eee3a 100644
> > > --- a/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec
> > > +++ b/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec
> > > @@ -46,6 +46,11 @@
> > >gDefaultDataFileGuid  = {0x1ae42876, 0x008f, 0x4161,
> > > {0xb2, 0xb7, 0x1c, 0x0d, 0x15, 0xc5, 0xef, 0x43}}
> > >gDefaultDataOptSizeFileGuid   = {0x003e7b41, 0x98a2, 0x4be2,
> > > {0xb2, 0x7a, 0x6c, 0x30, 0xc7, 0x65, 0x52, 0x25}}
> > >
> > > +  # BDS Hook point event Guids
> > > +  gBdsEventBeforeConsoleAfterTrustedConsoleGuid  = {0x51e49ff5,
> > > 0x28a9, 0x4159, { 0xac, 0x8a, 0xb8, 0xc4, 0x88, 0xa7, 0xfd, 0xee}}
> > > +  gBdsEventBeforeConsoleBeforeEndOfDxeGuid   = {0xfcf26e41,
> > > 0xbda6, 0x4633, { 0xb5, 0x73, 0xd4, 0xb8, 0x0e, 0x6d, 0xd0, 0x78}}
> > > +  gBdsEventAfterConsoleReadyBeforeBootOptionGuid = {0x8eb3d5dc,
> > > 0xf4e7,
> > > + 0x4b57, { 0xa9, 0xe7, 0x27, 0x39, 0x10, 0xf2, 0x18, 0x9f}}
> > > +
> > >  [LibraryClasses]
> > >
> > >PeiLib|Include/Library/PeiLib.h
> > > --
> > > 2.19.1.windows.1
> >
> >
> > 
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#52297): https://edk2.groups.io/g/devel/message/52297
Mute This Topic: https://groups.io/mt/68590722/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms][PATCH V3 1/1] WhiskeylakeOpenBoardPkg: Update PCDs to enable stack sharing

2019-12-17 Thread Kubacki, Michael A
From: "Agyeman, Prince" 

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2409

Updated WhiskeylakeURvp PCDs to enable FSP/BL stack sharing.

This fixes the boot failure seen with the latest Coffee Lake (CFL)
FSP binary (v 7.0.68.41).

Cc: Chasel Chiu 
Cc: Nate DeSimone 
Cc: Michael Kubacki 
Co-authored-by: Michael Kubacki 
Signed-off-by: Prince Agyeman 
Reviewed-by: Chasel Chiu 
---

Notes:
1. Michael Kubacki is taking over patch ownership since Prince
   is out of office.

V3 Change:
  - Changed the value of PcdPeiTemporaryRamStackSize to 0x3
to exceed the minimum stack size specified in the Coffee Lake
FSP Integration Guide (160KB / 0x28000) with some padding.

V2 Change:
  - The value of PcdPeiTemporaryRamStackSize was changed from 0x4
to 0x28000 to exactly meet the minimum stack size specified in
the Coffee Lake FSP Integration Guide. Note that the memory
initialization code in the FSP previously exceeded the available
stack size.

 Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoardPkgPcd.dsc | 
11 +--
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git 
a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoardPkgPcd.dsc 
b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoardPkgPcd.dsc
index 906f7b7ade..1ae51d9d5e 100644
--- a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoardPkgPcd.dsc
+++ b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoardPkgPcd.dsc
@@ -54,15 +54,14 @@
   gSiPkgTokenSpaceGuid.PcdTsegSize|0x100
 
   #
-  # FSP API mode does not share stack with the boot loader,
-  # so FSP needs more temporary memory for FSP heap + stack size.
+  # When sharing stack with boot loader, FSP only needs small temp ram for heap
   #
-  gIntelFsp2PkgTokenSpaceGuid.PcdFspTemporaryRamSize|0x26000
+  gIntelFsp2PkgTokenSpaceGuid.PcdFspTemporaryRamSize|0x1
+
   #
-  # FSP API mode does not need to enlarge the boot loader stack size
-  # since the stacks are separate.
+  # Boot loader stack size has to be big enough to executing FSP
   #
-  gSiPkgTokenSpaceGuid.PcdPeiTemporaryRamStackSize|0x2
+  gSiPkgTokenSpaceGuid.PcdPeiTemporaryRamStackSize|0x3
 
   gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xE000
   gMinPlatformPkgTokenSpaceGuid.PcdPciExpressRegionLength|0x1000
-- 
2.16.2.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#52293): https://edk2.groups.io/g/devel/message/52293
Mute This Topic: https://groups.io/mt/68774153/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel] [edk2-platforms] [PATCH v2] WhiskeylakeOpenBoardPkg: Update PCDs to enable stack sharing

2019-12-16 Thread Kubacki, Michael A
I agree with Chasel. There should be enough T-RAM available to expand this to 
0x3 without a problem and reduce potential thrash in the future.

Thanks,
Michael

> -Original Message-
> From: Chiu, Chasel 
> Sent: Sunday, December 15, 2019 4:32 PM
> To: Agyeman, Prince ; Desimone, Nathaniel L
> 
> Cc: Kubacki, Michael A ;
> devel@edk2.groups.io
> Subject: RE: [edk2-platforms] [PATCH v2] WhiskeylakeOpenBoardPkg:
> Update PCDs to enable stack sharing
> 
> 
> Hi Nate, Prince,
> 
> I would recommend that we set larger
> gSiPkgTokenSpaceGuid.PcdPeiTemporaryRamStackSize so we do not have to
> update this again and again later when required temporary ram increased by
> enabling some boot loader features.
> How about set it to 0x3?
> 
> Thanks,
> Chasel
> 
> > -Original Message-
> > From: Agyeman, Prince 
> > Sent: Saturday, December 14, 2019 9:29 AM
> > To: devel@edk2.groups.io
> > Cc: Chiu, Chasel ; Desimone, Nathaniel L
> > ; Kubacki, Michael A
> > 
> > Subject: [edk2-platforms] [PATCH v2] WhiskeylakeOpenBoardPkg: Update
> > PCDs to enable stack sharing
> >
> > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2409
> >
> > Updated WhiskeylakeURvp PCDs to enable FSP/BL stack sharing.
> > This fixes the boot failure seen with the latest Coffee Lake (CFL) FSP
> > binary (v
> > 7.0.68.41)
> >
> > Cc: Chasel Chiu 
> > Cc: Nate DeSimone 
> > Cc: Michael Kubacki 
> >
> > Signed-off-by: Prince Agyeman 
> > ---
> >  .../WhiskeylakeURvp/OpenBoardPkgPcd.dsc   | 11
> > +--
> >  1 file changed, 5 insertions(+), 6 deletions(-)
> >
> > diff --git
> >
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoard
> P
> > kgPcd.dsc
> >
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoard
> P
> > kgPcd.dsc
> > index 906f7b7ade..cfe42883be 100644
> > ---
> >
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoard
> P
> > kgPcd.dsc
> > +++
> >
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoard
> P
> > k
> > +++ gPcd.dsc
> > @@ -54,15 +54,14 @@
> >gSiPkgTokenSpaceGuid.PcdTsegSize|0x100
> >
> >#
> > -  # FSP API mode does not share stack with the boot loader,
> > -  # so FSP needs more temporary memory for FSP heap + stack size.
> > +  # When sharing stack with boot loader, FSP only needs small temp
> > + ram for heap
> >#
> > -  gIntelFsp2PkgTokenSpaceGuid.PcdFspTemporaryRamSize|0x26000
> > +  gIntelFsp2PkgTokenSpaceGuid.PcdFspTemporaryRamSize|0x1
> > +
> >#
> > -  # FSP API mode does not need to enlarge the boot loader stack size
> > -  # since the stacks are separate.
> > +  # Boot loader stack size has to be big enough to executing FSP
> >#
> > -  gSiPkgTokenSpaceGuid.PcdPeiTemporaryRamStackSize|0x2
> > +  gSiPkgTokenSpaceGuid.PcdPeiTemporaryRamStackSize|0x28000
> >
> >gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xE000
> >
> >
> gMinPlatformPkgTokenSpaceGuid.PcdPciExpressRegionLength|0x1000
> > --
> > 2.19.1.windows.1
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#52257): https://edk2.groups.io/g/devel/message/52257
Mute This Topic: https://groups.io/mt/68589828/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel] [edk2-platforms] [PATCH] WhiskeylakeOpenBoardPkg: Update PCDs to enable stack sharing

2019-12-12 Thread Kubacki, Michael A
Reviewed-by: Michael Kubacki 

> -Original Message-
> From: Agyeman, Prince 
> Sent: Wednesday, December 11, 2019 5:13 PM
> To: devel@edk2.groups.io
> Cc: Chiu, Chasel ; Desimone, Nathaniel L
> ; Kubacki, Michael A
> 
> Subject: [edk2-platforms] [PATCH] WhiskeylakeOpenBoardPkg: Update PCDs
> to enable stack sharing
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2409
> 
> Updated WhiskeylakeURvp PCDs to enable FSP/BL stack sharing.
> This fixes the boot failure seen with the latest Coffee Lake (CFL) FSP binary 
> (v
> 7.0.68.41)
> 
> Cc: Chasel Chiu 
> Cc: Nate DeSimone 
> Cc: Michael Kubacki 
> 
> Signed-off-by: Prince Agyeman 
> ---
>  .../WhiskeylakeURvp/OpenBoardPkgPcd.dsc   | 11 +--
>  1 file changed, 5 insertions(+), 6 deletions(-)
> 
> diff --git
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoard
> PkgPcd.dsc
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoard
> PkgPcd.dsc
> index 906f7b7ade..b3e1da3970 100644
> ---
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoard
> PkgPcd.dsc
> +++
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoard
> Pk
> +++ gPcd.dsc
> @@ -54,15 +54,14 @@
>gSiPkgTokenSpaceGuid.PcdTsegSize|0x100
> 
>#
> -  # FSP API mode does not share stack with the boot loader,
> -  # so FSP needs more temporary memory for FSP heap + stack size.
> +  # When sharing stack with boot loader, FSP only needs small temp ram
> + for heap
>#
> -  gIntelFsp2PkgTokenSpaceGuid.PcdFspTemporaryRamSize|0x26000
> +  gIntelFsp2PkgTokenSpaceGuid.PcdFspTemporaryRamSize|0x1
> +
>#
> -  # FSP API mode does not need to enlarge the boot loader stack size
> -  # since the stacks are separate.
> +  # Boot loader stack size has to be big enough to executing FSP
>#
> -  gSiPkgTokenSpaceGuid.PcdPeiTemporaryRamStackSize|0x2
> +  gSiPkgTokenSpaceGuid.PcdPeiTemporaryRamStackSize|0x4
> 
>gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xE000
>gMinPlatformPkgTokenSpaceGuid.PcdPciExpressRegionLength|0x1000
> --
> 2.19.1.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#52171): https://edk2.groups.io/g/devel/message/52171
Mute This Topic: https://groups.io/mt/68227150/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel] [PATCH] SimicsOpenBoardPkg: Replace CMOS Hardcoded Addresses

2019-12-11 Thread Kubacki, Michael A
Please include [edk2-platforms] in the subject in the future.

Reviewed-by: Michael Kubacki 

> -Original Message-
> From: Agyeman, Prince 
> Sent: Friday, December 6, 2019 9:32 AM
> To: devel@edk2.groups.io
> Cc: Desimone, Nathaniel L ; Kubacki,
> Michael A 
> Subject: [PATCH] SimicsOpenBoardPkg: Replace CMOS Hardcoded Addresses
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2330
> 
> Changes:
> * Added CmosMap.h that defines CMOS addresses used in
>   SimicsOpenBoardPkg as macros
> 
> * Replaced hardcoded CMOS addresses with the macros
>   defined in CmosMap.h
> 
> Cc: Nate DeSimone 
> Cc: Michael Kubacki 
> 
> Signed-off-by: Prince Agyeman 
> ---
>  .../SimicsOpenBoardPkg/Include/CmosMap.h  | 35
> +++
>  .../SimicsOpenBoardPkg/SimicsPei/MemDetect.c  | 23 
>  .../SmbiosPlatformDxe/SmbiosPlatformDxe.c | 24 -
>  .../SmbiosPlatformDxe/SmbiosPlatformDxe.h |  1 +
>  4 files changed, 68 insertions(+), 15 deletions(-)  create mode 100644
> Platform/Intel/SimicsOpenBoardPkg/Include/CmosMap.h
> 
> diff --git a/Platform/Intel/SimicsOpenBoardPkg/Include/CmosMap.h
> b/Platform/Intel/SimicsOpenBoardPkg/Include/CmosMap.h
> new file mode 100644
> index 00..3221ce9a5b
> --- /dev/null
> +++ b/Platform/Intel/SimicsOpenBoardPkg/Include/CmosMap.h
> @@ -0,0 +1,35 @@
> +/** @file
> +Cmos address definition macros header file.
> +
> +Copyright (c) 2019, Intel Corporation. All rights reserved.
> +SPDX-License-Identifier: BSD-2-Clause-Patent
> +
> +**/
> +
> +#ifndef _CMOS_MAP_H_
> +#define _CMOS_MAP_H_
> +
> +//
> +// CMOS 0x34/0x35 specifies the system memory above 16 MB.
> +// * CMOS(0x35) is the high byte
> +// * CMOS(0x34) is the low byte
> +// * The size is specified in 64kb chunks // * Since this is memory
> +above 16MB, the 16MB must be added
> +//   into the calculation to get the total memory size.
> +//
> +#define CMOS_SYSTEM_MEM_ABOVE_16MB_LOW_BYTE 0x34
> +#define CMOS_SYSTEM_MEM_ABOVE_16MB_HIGH_BYTE0x35
> +
> +//
> +// CMOS 0x5b-0x5d specifies the system memory above 4GB MB.
> +// * CMOS(0x5d) is the most significant size byte // * CMOS(0x5c) is
> +the middle size byte // * CMOS(0x5b) is the least significant size byte
> +// * The size is specified in 64kb chunks //
> +#define CMOS_SYSTEM_MEM_ABOVE_4GB_LOW_BYTE  0x5b
> +#define CMOS_SYSTEM_MEM_ABOVE_4GB_MIDDLE_BYTE   0x5c
> +#define CMOS_SYSTEM_MEM_ABOVE_4GB_HIGH_BYTE 0x5d
> +
> +
> +#endif // _CMOS_MAP_H_
> diff --git a/Platform/Intel/SimicsOpenBoardPkg/SimicsPei/MemDetect.c
> b/Platform/Intel/SimicsOpenBoardPkg/SimicsPei/MemDetect.c
> index e547de0045..60aa54be9e 100644
> --- a/Platform/Intel/SimicsOpenBoardPkg/SimicsPei/MemDetect.c
> +++ b/Platform/Intel/SimicsOpenBoardPkg/SimicsPei/MemDetect.c
> @@ -26,6 +26,8 @@
>  #include 
>  #include 
> 
> +#include 
> +
>  #include "Platform.h"
> 
>  UINT8 mPhysMemAddressWidth;
> @@ -74,24 +76,33 @@ X58TsegMbytesInitialization(
>return;
>  }
> 
> +/**
> +  Get the system memory size below 4GB
> 
> +  @return The size of system memory below 4GB **/
>  UINT32
>  GetSystemMemorySizeBelow4gb (
>VOID
>)
>  {
> +  UINT32 Size;
>//
>// CMOS 0x34/0x35 specifies the system memory above 16 MB.
> -  // * CMOS(0x35) is the high byte
> -  // * CMOS(0x34) is the low byte
>// * The size is specified in 64kb chunks
>// * Since this is memory above 16MB, the 16MB must be added
>//   into the calculation to get the total memory size.
>//
> -  return (UINT32) (((UINTN)CmosRead16 (0x34) << 16) + SIZE_16MB);
> +  Size = (UINT32) ((CmosRead16
> (CMOS_SYSTEM_MEM_ABOVE_16MB_LOW_BYTE) << 16)
> +   + SIZE_16MB);
> +  return Size;
>  }
> 
> +/**
> +  Get the system memory size  above 4GB
> 
> +  @return The size of system memory above 4GB **/
>  STATIC
>  UINT64
>  GetSystemMemorySizeAbove4gb (
> @@ -100,12 +111,10 @@ GetSystemMemorySizeAbove4gb (
>UINT32 Size;
>//
>// CMOS 0x5b-0x5d specifies the system memory above 4GB MB.
> -  // * CMOS(0x5d) is the most significant size byte
> -  // * CMOS(0x5c) is the middle size byte
> -  // * CMOS(0x5b) is the least significant size byte
>// * The size is specified in 64kb chunks
>//
> -  Size = (CmosRead16 (0x5c) << 8) + CmosRead8 (0x5b);
> +  Size = (CmosRead16 (CMOS_SYSTEM_MEM_ABOVE_4GB_MIDDLE_BYTE)
> << 8)
> +   + CmosRead8 (CMOS_SYSTEM_MEM_ABOVE_4GB_LOW_BYTE);
> 
>return LShiftU64 (Size, 16);
>  }
> diff --git
> a/Platform/Intel/SimicsOpenBoardPkg/SmbiosPlatformDxe/SmbiosPla

Re: [edk2-devel] [PATCH v2 061/105] .mailmap: Add an entry for Michael Kubacki

2019-12-06 Thread Kubacki, Michael A
Phil, thanks for your effort to put this together.

Reviewed-by: Michael Kubacki 

> -Original Message-
> From: devel@edk2.groups.io  On Behalf Of Philippe
> Mathieu-Daudé
> Sent: Friday, December 6, 2019 3:26 AM
> To: devel@edk2.groups.io
> Cc: Philippe Mathieu-Daude ; Kubacki, Michael A
> 
> Subject: [edk2-devel] [PATCH v2 061/105] .mailmap: Add an entry for
> Michael Kubacki
> 
> We use .mailmap to display contributors email addresses in an uniform
> format.
> 
> Add an entry for Michael Kubacki to have his name and email address
> displayed properly in the git history.
> 
> Cc: Michael Kubacki 
> Signed-off-by: Philippe Mathieu-Daude 
> ---
> [Due to MTA restricting the recipient list to 100, I can not Cc all the  named
> developers in the cover. Therefore I'm adapting the explaination  from the
> cover in each patch]
> 
> This patch won't get merged if Michael Kubacki doesn't give his approval, by
> replying to this patch with:
>   Reviewed-by: Michael Kubacki 
> 
> If you think this patch is inappropriate, you don't need to justify, reply 
> with:
>   NAcked-by: Michael Kubacki  or simply:
>   NACK
> 
> If your Firstname Lastname order is incorrect, tell me and I will fix it.
> 
> You can also ignore this mail, but I might resend it and keep bothering you.
> 
> Regards,
> 
> Phil.
> ---
>  .mailmap | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/.mailmap b/.mailmap
> index a8bffe9d4729..822a65a6aad7 100644
> --- a/.mailmap
> +++ b/.mailmap
> @@ -119,3 +119,5 @@ Michael Kinney 
>   Michael Kinney 
> 
>  Michael Kinney 
>   Michael Kinney
> 
> 
> +Michael Kubacki  Michael Kubacki
> +  +(FYDIBOHF25SPDLT)/cn=Recipients/cn=3c8b0226e75f4ab08d20c151cb7a8a7
> 2>
> --
> 2.21.0
> 
> 
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#52019): https://edk2.groups.io/g/devel/message/52019
Mute This Topic: https://groups.io/mt/67468046/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms][PATCH V2 44/47] DebugFeaturePkg: Remove the ACPI Debug feature

2019-11-27 Thread Kubacki, Michael A
Removes the ACPI Debug feature from DebugFeaturePkg. The feature
does not follow the advanced feature design. The feature has been
moved to Features/Intel/Debugging/AcpiDebugFeaturePkg.

Cc: Eric Dong 
Cc: Liming Gao 
Signed-off-by: Michael Kubacki 
---
 Platform/Intel/DebugFeaturePkg/DebugFeaturePkg.dsc|  10 -
 Platform/Intel/DebugFeaturePkg/AcpiDebug/AcpiDebugDxe.inf |  57 ---
 Platform/Intel/DebugFeaturePkg/AcpiDebug/AcpiDebugSmm.inf |  59 ---
 Platform/Intel/DebugFeaturePkg/AcpiDebug/AcpiDebug.c  | 523 

 Platform/Intel/DebugFeaturePkg/AcpiDebug/AcpiDebug.asl| 103 
 Platform/Intel/DebugFeaturePkg/AcpiDebug/Readme.txt   |  31 --
 6 files changed, 783 deletions(-)

diff --git a/Platform/Intel/DebugFeaturePkg/DebugFeaturePkg.dsc 
b/Platform/Intel/DebugFeaturePkg/DebugFeaturePkg.dsc
index efe705bd76..c43dd63a06 100644
--- a/Platform/Intel/DebugFeaturePkg/DebugFeaturePkg.dsc
+++ b/Platform/Intel/DebugFeaturePkg/DebugFeaturePkg.dsc
@@ -71,14 +71,6 @@
   
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
   UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.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
-
 
###
 #
 # Components Section - list of the modules and components that will be 
processed by compilation
@@ -113,8 +105,6 @@
   
DebugFeaturePkg/Library/Usb3DebugPortParameterLibPcd/Usb3DebugPortParameterLibPcd.inf
 
   # Add components here that should be included in the package build.
-  DebugFeaturePkg/AcpiDebug/AcpiDebugDxe.inf
-  DebugFeaturePkg/AcpiDebug/AcpiDebugSmm.inf
 
 [BuildOptions]
   *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES
diff --git a/Platform/Intel/DebugFeaturePkg/AcpiDebug/AcpiDebugDxe.inf 
b/Platform/Intel/DebugFeaturePkg/AcpiDebug/AcpiDebugDxe.inf
deleted file mode 100644
index 7473126b11..00
--- a/Platform/Intel/DebugFeaturePkg/AcpiDebug/AcpiDebugDxe.inf
+++ /dev/null
@@ -1,57 +0,0 @@
-### @file
-# Component description file for Acpi debug module.
-#
-# Copyright (c) 2019, Intel Corporation. All rights reserved.
-#
-# SPDX-License-Identifier: BSD-2-Clause-Patent
-#
-###
-
-[Defines]
-  INF_VERSION= 0x00010005
-  BASE_NAME  = AcpiDebugDxe
-  FILE_GUID  = EC98FF95-242C-4513-B1BC-69FA24111C58
-  MODULE_TYPE= DXE_DRIVER
-  VERSION_STRING = 1.0
-  ENTRY_POINT= InitializeAcpiDebugDxe
-#
-# The following information is for reference only and not required by the 
build tools.
-#
-#  VALID_ARCHITECTURES   = IA32 X64 IPF
-#
-
-[LibraryClasses]
-  BaseLib
-  BaseMemoryLib
-  UefiBootServicesTableLib
-  UefiDriverEntryPoint
-  DebugLib
-  PcdLib
-  DxeServicesLib
-
-[Packages]
-  MdePkg/MdePkg.dec
-  MdeModulePkg/MdeModulePkg.dec
-  DebugFeaturePkg/DebugFeaturePkg.dec
-
-[Pcd]
-  gDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugEnable  ## CONSUMES
-  gDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugBufferSize  ## CONSUMES
-  gDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugAddress ## PRODUCES
-
-[Sources]
-  AcpiDebug.c
-  AcpiDebug.asl
-
-[Protocols]
-  gEfiAcpiTableProtocolGuid ## CONSUMES
-  gEfiSmmBase2ProtocolGuid  ## CONSUMES # only for SMM version
-  gEfiSmmSwDispatch2ProtocolGuid## CONSUMES # only for SMM version
-  gEfiSmmEndOfDxeProtocolGuid   ## NOTIFY # only for SMM version
-
-[Guids]
-  gEfiEndOfDxeEventGroupGuid## CONSUMES ## Event
-
-[Depex]
-  gEfiAcpiTableProtocolGuid
-
diff --git a/Platform/Intel/DebugFeaturePkg/AcpiDebug/AcpiDebugSmm.inf 
b/Platform/Intel/DebugFeaturePkg/AcpiDebug/AcpiDebugSmm.inf
deleted file mode 100644
index 679f9eb014..00
--- a/Platform/Intel/DebugFeaturePkg/AcpiDebug/AcpiDebugSmm.inf
+++ /dev/null
@@ -1,59 +0,0 @@
-### @file
-# Component description file for Acpi Debug module.
-#
-# Copyright (c) 2019, Intel Corporation. All rights reserved.
-#
-# SPDX-License-Identifier: BSD-2-Clause-Patent
-#
-###
-
-[Defines]
-  INF_VERSION= 0x00010005
-  BASE_NAME  = AcpiDebugSmm
-  FILE_GUID  = 9069C144-0A7E-41ef-9C07-418BCA9BF939
-  MODULE_TYPE= DXE_SMM_DRIVER
-  VERSION_STRING = 1.0
-  PI_SPECIFICATION_VERSION   = 0x0001000A
-  ENTRY_POINT= InitializeAcpiDebugSmm
-#
-# The following information is for reference only and not required by the 
build tools.
-#
-#  VALID_ARCHITECTURES   = IA32 X64 IPF
-#
-
-[LibraryClasses]
-  BaseLib
-  BaseMemoryLib
-  

[edk2-devel] [edk2-platforms][PATCH V2 47/47] Maintainers.txt: Update Intel feature maintainers

2019-11-27 Thread Kubacki, Michael A
Cc: Dandan Bi 
Cc: Sai Chaganty 
Cc: Eric Dong 
Cc: Liming Gao 
Signed-off-by: Michael Kubacki 
Reviewed-by: Nate DeSimone 
---
 Maintainers.txt | 32 ++--
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/Maintainers.txt b/Maintainers.txt
index cb7ae0a95d..8cea67e310 100644
--- a/Maintainers.txt
+++ b/Maintainers.txt
@@ -124,6 +124,22 @@ F: Silicon/Hisilicon/
 M: Leif Lindholm 
 R: Ard Biesheuvel 
 
+Features/Intel
+F: Features/Intel/
+M: Michael Kubacki 
+M: Sai Chaganty 
+R: Liming Gao 
+
+Features/Intel/Debugging
+F: Features/Intel/Debugging/
+M: Eric Dong 
+R: Liming Gao 
+
+Features/Intel/UserInterface
+F: Features/Intel/UserInterface/
+M: Dandan Bi 
+R: Liming Gao 
+
 Platform/Intel/QuarkPlatformPkg
 F: Platform/Intel/QuarkPlatformPkg/
 M: Michael D Kinney 
@@ -134,27 +150,11 @@ F: Platform/Intel/Vlv2TbltDevicePkg/
 M: Zailiang Sun 
 M: Yi Qian 
 
-Platform/Intel/AdvancedFeaturePkg
-F: Platform/Intel/AdvancedFeaturePkg/
-M: Michael Kubacki 
-M: Sai Chaganty 
-R: Liming Gao 
-
 Platform/Intel/BoardModulePkg
 F: Platform/Intel/BoardModulePkg/
 M: Eric Dong 
 R: Liming Gao 
 
-Platform/Intel/DebugFeaturePkg
-F: Platform/Intel/DebugFeaturePkg/
-M: Eric Dong 
-R: Liming Gao 
-
-Platform/Intel/UserInterfaceFeaturePkg
-F: Platform/Intel/UserInterfaceFeaturePkg/
-M: Dandan Bi 
-R: Liming Gao 
-
 Platform/Intel/KabylakeOpenBoardPkg
 F: Platform/Intel/KabylakeOpenBoardPkg/
 M: Chasel Chiu 
-- 
2.16.2.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#51435): https://edk2.groups.io/g/devel/message/51435
Mute This Topic: https://groups.io/mt/63584865/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms][PATCH V2 40/47] Platform/Intel/AdvancedFeaturePkg: Remove the S3 feature

2019-11-27 Thread Kubacki, Michael A
Removes the S3 feature from AdvancedFeaturePkg. The feature does
not follow the advanced feature design. The feature has been moved
to Features/Intel/PowerManagement/S3FeaturePkg.

Cc: Sai Chaganty 
Cc: Liming Gao 
Signed-off-by: Michael Kubacki 
Reviewed-by: Nate DeSimone 
---
 Platform/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc |  6 
 Platform/Intel/AdvancedFeaturePkg/S3/S3Pei.inf   | 31 -
 Platform/Intel/AdvancedFeaturePkg/S3/S3Pei.c | 36 

 3 files changed, 73 deletions(-)

diff --git a/Platform/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc 
b/Platform/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
index b83e72b48c..885b84e2df 100644
--- a/Platform/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
+++ b/Platform/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
@@ -102,11 +102,6 @@
   
MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
   PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
 
-  ###
-  # Silicon Initialization Package
-  ###
-  
SmmAccessLib|IntelSiliconPkg/Feature/SmmAccess/Library/PeiSmmAccessLib/PeiSmmAccessLib.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
@@ -158,7 +153,6 @@
   AdvancedFeaturePkg/Ipmi/IpmiInit/PeiIpmiInit.inf
   AdvancedFeaturePkg/Ipmi/OsWdt/OsWdt.inf
   AdvancedFeaturePkg/Ipmi/SolStatus/SolStatus.inf
-  AdvancedFeaturePkg/S3/S3Pei.inf
   AdvancedFeaturePkg/Smbios/SmbiosBasicDxe/SmbiosBasicDxe.inf
 
 [BuildOptions]
diff --git a/Platform/Intel/AdvancedFeaturePkg/S3/S3Pei.inf 
b/Platform/Intel/AdvancedFeaturePkg/S3/S3Pei.inf
deleted file mode 100644
index 847edd20c0..00
--- a/Platform/Intel/AdvancedFeaturePkg/S3/S3Pei.inf
+++ /dev/null
@@ -1,31 +0,0 @@
-### @file
-# Component information file for the S3 PEI module.
-#
-# Copyright (c) 2019, Intel Corporation. All rights reserved.
-#
-# SPDX-License-Identifier: BSD-2-Clause-Patent
-#
-###
-
-[Defines]
-  INF_VERSION= 0x00010017
-  BASE_NAME  = S3Pei
-  FILE_GUID  = 8683EFB2-FDE1-4AFF-B2DB-E96449FDD4E9
-  VERSION_STRING = 1.0
-  MODULE_TYPE= PEIM
-  ENTRY_POINT= S3PeiEntryPoint
-
-[LibraryClasses]
-  PeimEntryPoint
-  PeiServicesLib
-  SmmAccessLib
-
-[Packages]
-  MdePkg/MdePkg.dec
-  IntelSiliconPkg/IntelSiliconPkg.dec
-
-[Sources]
-  S3Pei.c
-
-[Depex]
-  gEfiPeiMemoryDiscoveredPpiGuid
diff --git a/Platform/Intel/AdvancedFeaturePkg/S3/S3Pei.c 
b/Platform/Intel/AdvancedFeaturePkg/S3/S3Pei.c
deleted file mode 100644
index b0aaa04962..00
--- a/Platform/Intel/AdvancedFeaturePkg/S3/S3Pei.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/** @file
-  Source code file for S3 PEI module
-
-Copyright (c) 2019, Intel Corporation. All rights reserved.
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#include 
-#include 
-
-/**
-  S3 PEI module entry point
-
-  @param[in]  FileHandle   Not used.
-  @param[in]  PeiServices  General purpose services available to every 
PEIM.
-
-  @retval EFI_SUCCESS  The function completes successfully
-  @retval EFI_OUT_OF_RESOURCES Insufficient resources to create database
-**/
-EFI_STATUS
-EFIAPI
-S3PeiEntryPoint (
-  IN   EFI_PEI_FILE_HANDLE  FileHandle,
-  IN CONST EFI_PEI_SERVICES **PeiServices
-  )
-{
-  EFI_STATUS Status;
-
-  //
-  // Install EFI_PEI_MM_ACCESS_PPI for S3 resume case
-  //
-  Status = PeiInstallSmmAccessPpi ();
-
-  return Status;
-}
-- 
2.16.2.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#51428): https://edk2.groups.io/g/devel/message/51428
Mute This Topic: https://groups.io/mt/63584254/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms][PATCH V2 43/47] Platform/Intel/AdvancedFeaturePkg: Remove remaining contents

2019-11-27 Thread Kubacki, Michael A
This change removes the remaining files in AdvancedFeaturePkg that
were located in Platform/Intel.

Cc: Sai Chaganty 
Cc: Liming Gao 
Signed-off-by: Michael Kubacki 
Reviewed-by: Nate DeSimone 
---
 Platform/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dec   
 | 30 
 Platform/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc   
 | 79 
 Platform/Intel/AdvancedFeaturePkg/Include/Dsc/CoreAdvancedDxeInclude.dsc   
 | 15 
 Platform/Intel/AdvancedFeaturePkg/Include/Dsc/CoreAdvancedPeiInclude.dsc   
 |  9 ---
 Platform/Intel/AdvancedFeaturePkg/Include/Fdf/CoreAdvancedLateInclude.fdf  
 | 14 
 
Platform/Intel/AdvancedFeaturePkg/Include/Fdf/CoreAdvancedPostMemoryInclude.fdf 
|  8 --
 Platform/Intel/AdvancedFeaturePkg/Include/Fdf/CoreAdvancedPreMemoryInclude.fdf 
 |  9 ---
 7 files changed, 164 deletions(-)

diff --git a/Platform/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dec 
b/Platform/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dec
deleted file mode 100644
index 6cd333d498..00
--- a/Platform/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dec
+++ /dev/null
@@ -1,30 +0,0 @@
-## @file
-# This package provides the modules that build for a full feature platform.
-# This AdvancedFeaturePkg should only depend on EDKII Core packages and 
MinPlatformPkg.
-#
-# The DEC files are used by the utilities that parse DSC and
-# INF files to generate AutoGen.c and AutoGen.h files
-# for the build infrastructure.
-#
-# Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.
-#
-# SPDX-License-Identifier: BSD-2-Clause-Patent
-#
-##
-
-
-[Defines]
-DEC_SPECIFICATION = 0x00010017
-PACKAGE_NAME = AdvancedFeaturePkg
-PACKAGE_VERSION = 0.1
-PACKAGE_GUID = 290127D9-ABED-4DD8-A35D-73DCB4261BCB
-
-
-[Includes]
-Include
-
-[Guids]
-gAdvancedFeaturePkgTokenSpaceGuid =  {0xa8514688, 0x6693, 0x4ab5, 
{0xaa, 0xc8, 0xcc, 0xa9, 0x8d, 0xde, 0x90, 0xe1}}
-
-[PcdsFeatureFlag]
-  gAdvancedFeaturePkgTokenSpaceGuid.PcdNetworkEnable  
|FALSE|BOOLEAN|0xF0A1
diff --git a/Platform/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc 
b/Platform/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
deleted file mode 100644
index 4b8ccf3375..00
--- a/Platform/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
+++ /dev/null
@@ -1,79 +0,0 @@
-## @file
-#  Advanced Feature Package build description file.
-#
-# Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.
-#
-# SPDX-License-Identifier: BSD-2-Clause-Patent
-#
-##
-
-
-#
-# Defines Section - statements that will be processed to create a Makefile.
-#
-
-[Defines]
-  PLATFORM_NAME   = AdvancedFeaturePkg
-  PLATFORM_GUID   = 5E4C05BC-C5F0-4843-BAE1-3AAFE269DB8F
-  PLATFORM_VERSION= 0.1
-  DSC_SPECIFICATION   = 0x00010005
-  OUTPUT_DIRECTORY= Build/AdvancedFeaturePkg
-  SUPPORTED_ARCHITECTURES = IA32|X64
-  BUILD_TARGETS   = DEBUG|RELEASE
-  SKUID_IDENTIFIER= DEFAULT
-
-
-#
-# SKU Identification section - list of all SKU IDs supported.
-#
-
-[SkuIds]
-  0|DEFAULT  # The entry: 0|DEFAULT is reserved and always 
required.
-
-
-#
-# Pcd Section - list of all EDK II PCD Entries defined by this package.
-#
-
-
-[PcdsFeatureFlag]
-
-
-#
-# Library Class section - list of all Library Classes needed by this package.
-#
-
-
-[LibraryClasses.common]
-
-###
-#
-# Components Section - list of the modules and components that will be 
processed by compilation
-#  tools and the EDK II tools to generate PE32/PE32+/Coff 
image files.
-#
-# 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.
-#   Binary modules do not need to be listed in this section, as they 
should be
-#   specified in the FDF file. For example: Shell binary 

[edk2-devel] [edk2-platforms][PATCH V2 39/47] MinPlatformPkg: Install advanced feature FVs by stage enabled

2019-11-27 Thread Kubacki, Michael A
This change updates the FvReportLib instance in MinPlatformPkg to
only install advanced feature firmware volumes if the advanced
feature stage should be active.

Cc: Chasel Chiu 
Cc: Nate DeSimone 
Cc: Liming Gao 
Signed-off-by: Michael Kubacki 
Reviewed-by: Nate DeSimone 
---
 Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec   
  |  1 +
 
Platform/Intel/MinPlatformPkg/PlatformInit/Library/PeiReportFvLib/PeiReportFvLib.inf
 |  1 +
 
Platform/Intel/MinPlatformPkg/PlatformInit/Library/PeiReportFvLib/PeiReportFvLib.c
   | 50 +++-
 3 files changed, 29 insertions(+), 23 deletions(-)

diff --git a/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec 
b/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec
index 21013cc87c..7f74ac9380 100644
--- a/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec
+++ b/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec
@@ -272,6 +272,7 @@ SetCacheMtrrLib|Include/Library/SetCacheMtrrLib.h
   # Stage 3 - boot to shell only
   # Stage 4 - boot to OS
   # Stage 5 - boot to OS with security boot enabled
+  # Stage 6 - boot with advanced features enabled
   #
   gMinPlatformPkgTokenSpaceGuid.PcdBootStage|4|UINT8|0xF0A0
 
diff --git 
a/Platform/Intel/MinPlatformPkg/PlatformInit/Library/PeiReportFvLib/PeiReportFvLib.inf
 
b/Platform/Intel/MinPlatformPkg/PlatformInit/Library/PeiReportFvLib/PeiReportFvLib.inf
index 1ce3034fcc..ef03e110bd 100644
--- 
a/Platform/Intel/MinPlatformPkg/PlatformInit/Library/PeiReportFvLib/PeiReportFvLib.inf
+++ 
b/Platform/Intel/MinPlatformPkg/PlatformInit/Library/PeiReportFvLib/PeiReportFvLib.inf
@@ -30,6 +30,7 @@
   PeiReportFvLib.c
 
 [Pcd]
+  gMinPlatformPkgTokenSpaceGuid.PcdBootStage  ## CONSUMES
   gMinPlatformPkgTokenSpaceGuid.PcdFspWrapperBootMode ## CONSUMES
   gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaBaseAddress   ## CONSUMES
   gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize  ## CONSUMES
diff --git 
a/Platform/Intel/MinPlatformPkg/PlatformInit/Library/PeiReportFvLib/PeiReportFvLib.c
 
b/Platform/Intel/MinPlatformPkg/PlatformInit/Library/PeiReportFvLib/PeiReportFvLib.c
index b61587f6e3..0d805d6fe7 100644
--- 
a/Platform/Intel/MinPlatformPkg/PlatformInit/Library/PeiReportFvLib/PeiReportFvLib.c
+++ 
b/Platform/Intel/MinPlatformPkg/PlatformInit/Library/PeiReportFvLib/PeiReportFvLib.c
@@ -40,20 +40,22 @@ ReportPreMemFv (
 NULL,
 0
 );
-  DEBUG ((
-DEBUG_INFO,
-"Install FlashFvAdvancedPreMemory - 0x%x, 0x%x\n",
-PcdGet32 (PcdFlashFvAdvancedPreMemoryBase),
-PcdGet32 (PcdFlashFvAdvancedPreMemorySize)
-));
-  PeiServicesInstallFvInfo2Ppi (
-&(((EFI_FIRMWARE_VOLUME_HEADER *) (UINTN) PcdGet32 
(PcdFlashFvAdvancedPreMemoryBase))->FileSystemGuid),
-(VOID *) (UINTN) PcdGet32 (PcdFlashFvAdvancedPreMemoryBase),
-PcdGet32 (PcdFlashFvAdvancedPreMemorySize),
-NULL,
-NULL,
-0
-);
+  if (PcdGet8 (PcdBootStage) >= 6) {
+DEBUG ((
+  DEBUG_INFO,
+  "Install FlashFvAdvancedPreMemory - 0x%x, 0x%x\n",
+  PcdGet32 (PcdFlashFvAdvancedPreMemoryBase),
+  PcdGet32 (PcdFlashFvAdvancedPreMemorySize)
+  ));
+PeiServicesInstallFvInfo2Ppi (
+  &(((EFI_FIRMWARE_VOLUME_HEADER *) (UINTN) PcdGet32 
(PcdFlashFvAdvancedPreMemoryBase))->FileSystemGuid),
+  (VOID *) (UINTN) PcdGet32 (PcdFlashFvAdvancedPreMemoryBase),
+  PcdGet32 (PcdFlashFvAdvancedPreMemorySize),
+  NULL,
+  NULL,
+  0
+  );
+  }
 }
 
 VOID
@@ -122,15 +124,17 @@ ReportPostMemFv (
   NULL,
   0
   );
-DEBUG ((DEBUG_INFO, "Install FlashFvAdvanced - 0x%x, 0x%x\n", PcdGet32 
(PcdFlashFvAdvancedBase), PcdGet32 (PcdFlashFvAdvancedSize)));
-PeiServicesInstallFvInfo2Ppi (
-  &(((EFI_FIRMWARE_VOLUME_HEADER *) (UINTN) PcdGet32 
(PcdFlashFvAdvancedBase))->FileSystemGuid),
-  (VOID *) (UINTN) PcdGet32 (PcdFlashFvAdvancedBase),
-  PcdGet32 (PcdFlashFvAdvancedSize),
-  NULL,
-  NULL,
-  0
-  );
+if (PcdGet8 (PcdBootStage) >= 6) {
+  DEBUG ((DEBUG_INFO, "Install FlashFvAdvanced - 0x%x, 0x%x\n", PcdGet32 
(PcdFlashFvAdvancedBase), PcdGet32 (PcdFlashFvAdvancedSize)));
+  PeiServicesInstallFvInfo2Ppi (
+&(((EFI_FIRMWARE_VOLUME_HEADER *) (UINTN) PcdGet32 
(PcdFlashFvAdvancedBase))->FileSystemGuid),
+(VOID *) (UINTN) PcdGet32 (PcdFlashFvAdvancedBase),
+PcdGet32 (PcdFlashFvAdvancedSize),
+NULL,
+NULL,
+0
+);
+}
   }
 
   //
-- 
2.16.2.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#51427): https://edk2.groups.io/g/devel/message/51427
Mute This Topic: https://groups.io/mt/63584191/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms][PATCH V2 35/47] KabylakeOpenBoardPkg/GalagoPro3: Enable advanced features

2019-11-27 Thread Kubacki, Michael A
This change enables advanced features to be used by the
GalagoPro3 board in KabylakeOpenBoardPkg.

Some platform macros in OpenBoardPkg.dsc are consolidated so all
values are set at the top of the file before including advanced
feature code.

Cc: Chasel Chiu 
Cc: Nate DeSimone 
Signed-off-by: Michael Kubacki 
Reviewed-by: Nate DeSimone 
---
 Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkg.dsc| 46 
+---
 Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkgPcd.dsc |  1 +
 Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkg.fdf|  4 ++
 3 files changed, 25 insertions(+), 26 deletions(-)

diff --git a/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkg.dsc 
b/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkg.dsc
index d4ca2daa18..a39547f41f 100644
--- a/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkg.dsc
+++ b/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkg.dsc
@@ -16,38 +16,32 @@
   DEFINE  PROJECT = 
$(PLATFORM_BOARD_PACKAGE)/$(BOARD)
   DEFINE  PEI_ARCH= IA32
   DEFINE  DXE_ARCH= X64
-
-  #
-  # Include PCD configuration for this board.
-  #
-  !include OpenBoardPkgPcd.dsc
-
-
-#
-# Defines Section - statements that will be processed to create a Makefile.
-#
-
-[Defines]
-  PLATFORM_NAME   = $(PLATFORM_PACKAGE)
-  PLATFORM_GUID   = 7324F33D-4E96-4F8B-A550-544DE6162AB7
-  PLATFORM_VERSION= 0.1
-  DSC_SPECIFICATION   = 0x00010005
-  OUTPUT_DIRECTORY= Build/$(PROJECT)
-  SUPPORTED_ARCHITECTURES = IA32|X64
-  BUILD_TARGETS   = DEBUG|RELEASE
-  SKUID_IDENTIFIER= ALL
-
-
-  FLASH_DEFINITION= $(PROJECT)/OpenBoardPkg.fdf
-
-  FIX_LOAD_TOP_MEMORY_ADDRESS = 0x0
-  DEFINE   TOP_MEMORY_ADDRESS = 0x0
+  DEFINE  TOP_MEMORY_ADDRESS  = 0x0
 
   #
   # Default value for OpenBoardPkg.fdf use
   #
   DEFINE BIOS_SIZE_OPTION = SIZE_60
 
+  PLATFORM_NAME   = $(PLATFORM_PACKAGE)
+  PLATFORM_GUID   = 
7324F33D-4E96-4F8B-A550-544DE6162AB7
+  PLATFORM_VERSION= 0.1
+  DSC_SPECIFICATION   = 0x00010005
+  OUTPUT_DIRECTORY= Build/$(PROJECT)
+  SUPPORTED_ARCHITECTURES = IA32|X64
+  BUILD_TARGETS   = DEBUG|RELEASE
+  SKUID_IDENTIFIER= ALL
+
+  FLASH_DEFINITION= $(PROJECT)/OpenBoardPkg.fdf
+  FIX_LOAD_TOP_MEMORY_ADDRESS = 0x0
+
+  #
+  # Include PCD configuration for this board.
+  #
+  !include 
AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaround.dsc
+  !include OpenBoardPkgPcd.dsc
+  !include AdvancedFeaturePkg/Include/AdvancedFeatures.dsc
+
 

 #
 # SKU Identification section - list of all SKU IDs supported by this board.
diff --git a/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkgPcd.dsc 
b/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkgPcd.dsc
index c6f5ae7534..7393897249 100644
--- a/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkgPcd.dsc
+++ b/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkgPcd.dsc
@@ -24,6 +24,7 @@
   # Stage 3 - boot to shell only
   # Stage 4 - boot to OS
   # Stage 5 - boot to OS with security boot enabled
+  # Stage 6 - boot with advanced features enabled
   #
   gMinPlatformPkgTokenSpaceGuid.PcdBootStage|4
 
diff --git a/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkg.fdf 
b/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkg.fdf
index 0a9b933e40..da94ed0cd1 100644
--- a/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkg.fdf
+++ b/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkg.fdf
@@ -631,6 +631,8 @@ READ_LOCK_CAP  = TRUE
 READ_LOCK_STATUS   = TRUE
 FvNameGuid = 6053D78A-457E-4490-A237-31D0FBE2F305
 
+!include AdvancedFeaturePkg/Include/PreMemory.fdf
+
 !if gKabylakeOpenBoardPkgTokenSpaceGuid.PcdTbtEnable == TRUE
 INF $(PLATFORM_BOARD_PACKAGE)/Features/Tbt/TbtInit/Pei/PeiTbtInit.inf
 !endif
@@ -657,6 +659,8 @@ READ_LOCK_CAP  = TRUE
 READ_LOCK_STATUS   = TRUE
 FvNameGuid = BE3DF86F-E464-44A3-83F7-0D27E6B88C27
 
+!include AdvancedFeaturePkg/Include/PostMemory.fdf
+
 !if gKabylakeOpenBoardPkgTokenSpaceGuid.PcdTbtEnable == TRUE
 INF  $(PLATFORM_BOARD_PACKAGE)/Features/Tbt/TbtInit/Dxe/TbtDxe.inf
 INF  $(PLATFORM_BOARD_PACKAGE)/Features/PciHotPlug/PciHotPlug.inf
-- 
2.16.2.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You 

[edk2-devel] [edk2-platforms][PATCH V2 38/47] SimicsOpenBoardPkg: Use new advanced feature refactor

2019-11-27 Thread Kubacki, Michael A
Updates advanced feature references in SimicsOpenBoardPkg to the
new advanced feature packages in Features/Intel. Previously, the
advanced features in Platform/Intel were used.

SimicsOpenBoardPkg currently uses the SMBIOS and Network advanced
features. These are the same features used by the package prior to
the advanced feature refactor.

Note that SimicsOpenBoardPkg depends upon these advanced features
even when the boot stage is less than the advanced feature stage.

This bug was not fixed in this commit and is filed to be resolved
in the following Bugzilla item:
  https://bugzilla.tianocore.org/show_bug.cgi?id=2165

Cc: Wei David Y 
Cc: Agyeman Prince 
Signed-off-by: Michael Kubacki 
---
 Platform/Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkg.dsc  | 11 
++-
 Platform/Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkgPcd.dsc   | 12 
++--
 Platform/Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkg.fdf  | 10 
++
 Platform/Intel/SimicsOpenBoardPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf |  1 
-
 4 files changed, 10 insertions(+), 24 deletions(-)

diff --git a/Platform/Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkg.dsc 
b/Platform/Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkg.dsc
index 2f287a4ca4..7576648d57 100644
--- a/Platform/Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkg.dsc
+++ b/Platform/Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkg.dsc
@@ -42,8 +42,9 @@
   DEFINE NETWORK_ISCSI_ENABLE   = FALSE
   DEFINE NETWORK_ALLOW_HTTP_CONNECTIONS = TRUE
 
+  !include 
AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaround.dsc
   !include $(PROJECT)/OpenBoardPkgPcd.dsc
-  !include NetworkPkg/NetworkDefines.dsc.inc
+  !include AdvancedFeaturePkg/Include/AdvancedFeatures.dsc
 
 

 #
@@ -80,7 +81,6 @@
 #is completed
 [Components.X64]
 !include $(PLATFORM_PACKAGE)/Include/Dsc/CoreDxeInclude.dsc
-!include AdvancedFeaturePkg/Include/Dsc/CoreAdvancedDxeInclude.dsc
 
 ###
 # Build Option Includes
@@ -285,13 +285,6 @@
   $(PLATFORM_PACKAGE)/Flash/SpiFvbService/SpiFvbServiceSmm.inf
 !endif
 
-  ###
-  # Advanced Feature Package
-  ###
-!if gAdvancedFeaturePkgTokenSpaceGuid.PcdSmbiosEnable == TRUE
-  AdvancedFeaturePkg/Smbios/SmbiosBasicDxe/SmbiosBasicDxe.inf
-!endif
-
   ###
   # Board Package
   ###
diff --git 
a/Platform/Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkgPcd.dsc 
b/Platform/Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkgPcd.dsc
index cd95755f91..cd98d09f01 100644
--- a/Platform/Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkgPcd.dsc
+++ b/Platform/Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkgPcd.dsc
@@ -96,8 +96,8 @@
   ##
   # Advanced Feature Configuration
   ##
-  gAdvancedFeaturePkgTokenSpaceGuid.PcdNetworkEnable|TRUE
-  gAdvancedFeaturePkgTokenSpaceGuid.PcdSmbiosEnable|TRUE
+  gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable|TRUE
+  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable|TRUE
 
 [PcdsFeatureFlag.X64]
   ##
@@ -252,10 +252,10 @@
   ##
   # Advanced Feature Configuration
   ##
-  
gAdvancedFeaturePkgTokenSpaceGuid.PcdSmbiosType0StringBiosReleaseDate|"2019-08-09"
-  gAdvancedFeaturePkgTokenSpaceGuid.PcdSmbiosType0StringBiosVersion|"Ver.1.0.0"
-  gAdvancedFeaturePkgTokenSpaceGuid.PcdSmbiosType1StringProductName|"QSP UEFI 
BIOS"
-  gAdvancedFeaturePkgTokenSpaceGuid.PcdSmbiosType2StringProductName|"QSP UEFI 
BIOS"
+  
gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType0StringBiosReleaseDate|"2019-08-09"
+  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType0StringBiosVersion|"Ver.1.0.0"
+  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType1StringProductName|"QSP UEFI 
BIOS"
+  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType2StringProductName|"QSP UEFI 
BIOS"
 
 [PcdsDynamicExDefault]
   ##
diff --git a/Platform/Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkg.fdf 
b/Platform/Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkg.fdf
index ef6b35c92f..e0a1daddee 100644
--- a/Platform/Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkg.fdf
+++ b/Platform/Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkg.fdf
@@ -155,7 +155,7 @@ INF  MinPlatformPkg/PlatformInit/ReportFv/ReportFvPei.inf
 INF  MinPlatformPkg/PlatformInit/PlatformInitPei/PlatformInitPreMem.inf
 INF  MinPlatformPkg/PlatformInit/SiliconPolicyPei/SiliconPolicyPeiPreMem.inf
 !include MinPlatformPkg/Include/Fdf/CoreSecurityPreMemoryInclude.fdf
-!include AdvancedFeaturePkg/Include/Fdf/CoreAdvancedPreMemoryInclude.fdf
+!include 

[edk2-devel] [edk2-platforms][PATCH V2 37/47] WhiskeylakeOpenBoardPkg/WhiskeylakeURvp: Enable advanced features

2019-11-27 Thread Kubacki, Michael A
This change enables advanced features to be used by the
WhiskeylakeURvp board in WhiskeylakeOpenBoardPkg.

Some platform macros in OpenBoardPkg.dsc are consolidated so all
values are set at the top of the file before including advanced
feature code.

Cc: Chasel Chiu 
Cc: Nate DeSimone 
Signed-off-by: Michael Kubacki 
Reviewed-by: Nate DeSimone 
---
 Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoardPkg.dsc| 
44 +---
 Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoardPkgPcd.dsc |  
1 +
 Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoardPkg.fdf|  
4 ++
 3 files changed, 25 insertions(+), 24 deletions(-)

diff --git 
a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoardPkg.dsc 
b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoardPkg.dsc
index ae3fec05ed..47e156be08 100644
--- a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoardPkg.dsc
+++ b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoardPkg.dsc
@@ -17,36 +17,32 @@
   DEFINE  PROJECT   = $(PLATFORM_BOARD_PACKAGE)/$(BOARD)
   DEFINE  PEI_ARCH  = IA32
   DEFINE  DXE_ARCH  = X64
-
-  #
-  # Include PCD configuration for this board.
-  #
-  !include OpenBoardPkgPcd.dsc
-
-
-#
-# Defines Section - statements that will be processed to create a Makefile.
-#
-
-[Defines]
-  PLATFORM_NAME   = $(PLATFORM_PACKAGE)
-  PLATFORM_GUID   = 84D0F5BD-0EF3-4CC0-9B09-F2D0F2AA5C5E
-  PLATFORM_VERSION= 0.1
-  DSC_SPECIFICATION   = 0x00010005
-  OUTPUT_DIRECTORY= Build/$(PROJECT)
-  SUPPORTED_ARCHITECTURES = IA32|X64
-  BUILD_TARGETS   = DEBUG|RELEASE
-  SKUID_IDENTIFIER= ALL
-  FLASH_DEFINITION= $(PROJECT)/OpenBoardPkg.fdf
-
-  FIX_LOAD_TOP_MEMORY_ADDRESS = 0x0
-  DEFINE   TOP_MEMORY_ADDRESS = 0x0
+  DEFINE  TOP_MEMORY_ADDRESS= 0x0
 
   #
   # Default value for OpenBoardPkg.fdf use
   #
   DEFINE BIOS_SIZE_OPTION = SIZE_70
 
+  PLATFORM_NAME = $(PLATFORM_PACKAGE)
+  PLATFORM_GUID = 84D0F5BD-0EF3-4CC0-9B09-F2D0F2AA5C5E
+  PLATFORM_VERSION  = 0.1
+  DSC_SPECIFICATION = 0x00010005
+  OUTPUT_DIRECTORY  = Build/$(PROJECT)
+  SUPPORTED_ARCHITECTURES   = IA32|X64
+  BUILD_TARGETS = DEBUG|RELEASE
+  SKUID_IDENTIFIER  = ALL
+
+  FLASH_DEFINITION  = $(PROJECT)/OpenBoardPkg.fdf
+  FIX_LOAD_TOP_MEMORY_ADDRESS   = 0x0
+
+  #
+  # Include PCD configuration for this board.
+  #
+  !include 
AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaround.dsc
+  !include OpenBoardPkgPcd.dsc
+  !include AdvancedFeaturePkg/Include/AdvancedFeatures.dsc
+
 

 #
 # SKU Identification section - list of all SKU IDs supported by this board.
diff --git 
a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoardPkgPcd.dsc 
b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoardPkgPcd.dsc
index 52471cb25b..906f7b7ade 100644
--- a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoardPkgPcd.dsc
+++ b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoardPkgPcd.dsc
@@ -24,6 +24,7 @@
   # Stage 3 - boot to shell only
   # Stage 4 - boot to OS
   # Stage 5 - boot to OS with security boot enabled
+  # Stage 6 - boot with advanced features enabled
   #
   gMinPlatformPkgTokenSpaceGuid.PcdBootStage|4
 
diff --git 
a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoardPkg.fdf 
b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoardPkg.fdf
index 130930ad40..f39b41b186 100644
--- a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoardPkg.fdf
+++ b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoardPkg.fdf
@@ -623,6 +623,8 @@ READ_LOCK_CAP  = TRUE
 READ_LOCK_STATUS   = TRUE
 FvNameGuid = 6053D78A-457E-4490-A237-31D0FBE2F305
 
+!include AdvancedFeaturePkg/Include/PreMemory.fdf
+
 !if gWhiskeylakeOpenBoardPkgTokenSpaceGuid.PcdTbtEnable == TRUE
 INF $(PLATFORM_BOARD_PACKAGE)/Features/Tbt/TbtInit/Pei/PeiTbtInit.inf
 !endif
@@ -649,6 +651,8 @@ READ_LOCK_CAP  = TRUE
 READ_LOCK_STATUS   = TRUE
 FvNameGuid = BE3DF86F-E464-44A3-83F7-0D27E6B88C27
 
+!include AdvancedFeaturePkg/Include/PostMemory.fdf
+
 !if gWhiskeylakeOpenBoardPkgTokenSpaceGuid.PcdTbtEnable == TRUE
 INF  $(PLATFORM_BOARD_PACKAGE)/Features/Tbt/TbtInit/Dxe/TbtDxe.inf
 INF  $(PLATFORM_BOARD_PACKAGE)/Features/PciHotPlug/PciHotPlug.inf
-- 
2.16.2.windows.1



[edk2-devel] [edk2-platforms][PATCH V2 33/47] Platform/Intel: Add advanced feature build support

2019-11-27 Thread Kubacki, Michael A
This change adds the ability for board packages built with
build_bios.py to build advanced features located in
Features/Intel.

Cc: Chasel Chiu 
Cc: Nate DeSimone 
Cc: Liming Gao 
Cc: Agyeman Prince 
Signed-off-by: Michael Kubacki 
Reviewed-by: Nate DeSimone 
---
 Platform/Intel/build.cfg | 1 +
 Platform/Intel/build_bios.py | 3 +++
 2 files changed, 4 insertions(+)

diff --git a/Platform/Intel/build.cfg b/Platform/Intel/build.cfg
index e42db243f6..86a9115021 100644
--- a/Platform/Intel/build.cfg
+++ b/Platform/Intel/build.cfg
@@ -12,6 +12,7 @@ WORKSPACE_FSP_BIN = FSP
 EDK_TOOLS_BIN = edk2-BaseTools-win32
 EDK_BASETOOLS = BaseTools
 WORKSPACE_DRIVERS = edk2-platforms/Drivers
+WORKSPACE_FEATURES = edk2-platforms/Features/Intel
 WORKSPACE_PLATFORM = edk2-platforms/Platform/Intel
 WORKSPACE_SILICON = edk2-platforms/Silicon/Intel
 WORKSPACE_PLATFORM_BIN =
diff --git a/Platform/Intel/build_bios.py b/Platform/Intel/build_bios.py
index ea098de705..1ef35aca0a 100644
--- a/Platform/Intel/build_bios.py
+++ b/Platform/Intel/build_bios.py
@@ -104,6 +104,8 @@ def pre_build(build_config, build_type="DEBUG", 
silent=False, toolchain=None):
 config["WORKSPACE_PLATFORM"])
 config["WORKSPACE_SILICON"] = os.path.join(config["WORKSPACE"],
config["WORKSPACE_SILICON"])
+config["WORKSPACE_FEATURES"] = os.path.join(config["WORKSPACE"],
+   config["WORKSPACE_FEATURES"])
 config["WORKSPACE_DRIVERS"] = os.path.join(config["WORKSPACE"],
config["WORKSPACE_DRIVERS"])
 config["WORKSPACE_PLATFORM_BIN"] = \
@@ -117,6 +119,7 @@ def pre_build(build_config, build_type="DEBUG", 
silent=False, toolchain=None):
 config["PACKAGES_PATH"] = config["WORKSPACE_PLATFORM"]
 config["PACKAGES_PATH"] += os.pathsep + config["WORKSPACE_SILICON"]
 config["PACKAGES_PATH"] += os.pathsep + config["WORKSPACE_SILICON_BIN"]
+config["PACKAGES_PATH"] += os.pathsep + config["WORKSPACE_FEATURES"]
 config["PACKAGES_PATH"] += os.pathsep + config["WORKSPACE_DRIVERS"]
 config["PACKAGES_PATH"] += os.pathsep + \
 os.path.join(config["WORKSPACE"], "FSP")
-- 
2.16.2.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#51418): https://edk2.groups.io/g/devel/message/51418
Mute This Topic: https://groups.io/mt/63459858/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms][PATCH V2 34/47] Platform/Intel/Readme.md Content update

2019-11-27 Thread Kubacki, Michael A
Updates the advanced feature location referenced in Readme.md to
edk2-platforms/Features/Intel.

Cc: Dandan Bi 
Cc: Sai Chaganty 
Cc: Eric Dong 
Cc: Nate DeSimone 
Cc: Liming Gao 
Signed-off-by: Michael Kubacki 
Reviewed-by: Nate DeSimone 
---
 Platform/Intel/Readme.md | 14 +++---
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/Platform/Intel/Readme.md b/Platform/Intel/Readme.md
index 0f86978fee..02d9517d19 100644
--- a/Platform/Intel/Readme.md
+++ b/Platform/Intel/Readme.md
@@ -89,8 +89,7 @@ A UEFI firmware implementation using MinPlatformPkg is 
constructed using the fol
 The board package follows the standard EDK II package structure with the 
following additional elements and guidelines:
 * Only code usable across more than one board at the root level.
 * Board-specific code in a directory. The directory name should match that of 
the board supported.
-* Features not essential to achieve stage 5 or earlier boots are maintained in 
a Features folder at the appropriate
-  level in the package hierarchy.
+* Features not essential to achieve stage 5 or earlier boots are maintained in 
edk2-platforms/Features/Intel.
 
 Shared resources in the package root directory can include interfaces 
described in header files, library instances,
 firmware modules, binaries, etc. The UEFI firmware implementation is built 
using the process described below from the
@@ -260,16 +259,17 @@ return back to the minimum platform caller.
 
 ### **Package Builds**
 
-In some cases, such as AdvancedFeaturePkg, a package may provide a set of 
functionality that is included in other
+In some cases, such as BoardModulePkg, a package may provide a set of 
functionality that is included in other
 packages. To test the build of the whole package, the "build" command should 
be used following the instructions below.
 
 1. Execute edksetup.bat (Windows) or edksetup.sh (Linux).
 2. Verify the "WORKSPACE" environment variable is set to the edk2 directory in 
your workspace.
-3. Set the "PACKAGES_PATH" environment variable to include the 
edk2-platforms/Platform/Intel and edk2-platforms/Silicon/Intel
-   directories.
-   * Windows example: set 
PACKAGES_PATH=c:\Edk2Workspace\edk2-platforms\Platform\Intel;c:\Edk2Workspace\edk2-platforms\Silicon\Intel
+3. Set the "PACKAGES_PATH" environment variable to include the 
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
 4. Build the package by specifying the package DSC as the platform build 
target from the Platform/Intel or Silicon/Intel directory:
-   "build -p AdvancedFeaturePkg/AdvancedFeaturePkg.dsc"
+   "build -p BoardModulePkg/BoardModulePkg.dsc -a IA32 -a X64"
 
 
 ### **Firmware Image Flashing**
-- 
2.16.2.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#51419): https://edk2.groups.io/g/devel/message/51419
Mute This Topic: https://groups.io/mt/63459961/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms][PATCH V2 36/47] KabylakeOpenBoardPkg/KabylakeRvp3: Enable advanced features

2019-11-27 Thread Kubacki, Michael A
This change enables advanced features to be used by the
KabylakeRvp3 board in KabylakeOpenBoardPkg.

Some platform macros in OpenBoardPkg.dsc are consolidated so all
values are set at the top of the file before including advanced
feature code.

Cc: Chasel Chiu 
Cc: Nate DeSimone 
Signed-off-by: Michael Kubacki 
Reviewed-by: Nate DeSimone 
---
 Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.dsc| 44 
+---
 Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkgPcd.dsc |  1 +
 Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.fdf|  4 ++
 3 files changed, 25 insertions(+), 24 deletions(-)

diff --git a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.dsc 
b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.dsc
index 831e441d70..50be2bb624 100644
--- a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.dsc
+++ b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.dsc
@@ -15,11 +15,31 @@
   DEFINE  PROJECT = 
$(PLATFORM_BOARD_PACKAGE)/$(BOARD)
   DEFINE  PEI_ARCH= IA32
   DEFINE  DXE_ARCH= X64
+  DEFINE  TOP_MEMORY_ADDRESS  = 0x0
+
+  #
+  # Default value for OpenBoardPkg.fdf use
+  #
+  DEFINE BIOS_SIZE_OPTION = SIZE_70
+
+  PLATFORM_NAME   = $(PLATFORM_PACKAGE)
+  PLATFORM_GUID   = 
8470676C-18E8-467F-B126-28DB1941AA5A
+  PLATFORM_VERSION= 0.1
+  DSC_SPECIFICATION   = 0x00010005
+  OUTPUT_DIRECTORY= Build/$(PROJECT)
+  SUPPORTED_ARCHITECTURES = IA32|X64
+  BUILD_TARGETS   = DEBUG|RELEASE
+  SKUID_IDENTIFIER= ALL
+  FLASH_DEFINITION= $(PROJECT)/OpenBoardPkg.fdf
+
+  FIX_LOAD_TOP_MEMORY_ADDRESS = 0x0
 
   #
   # Include PCD configuration for this board.
   #
+  !include 
AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaround.dsc
   !include OpenBoardPkgPcd.dsc
+  !include AdvancedFeaturePkg/Include/AdvancedFeatures.dsc
 
 [Defines]
 !if gIntelFsp2WrapperTokenSpaceGuid.PcdFspModeSelection == 1
@@ -51,30 +71,6 @@
 !endif
 !endif
 
-
-#
-# Defines Section - statements that will be processed to create a Makefile.
-#
-
-[Defines]
-  PLATFORM_NAME   = $(PLATFORM_PACKAGE)
-  PLATFORM_GUID   = 8470676C-18E8-467F-B126-28DB1941AA5A
-  PLATFORM_VERSION= 0.1
-  DSC_SPECIFICATION   = 0x00010005
-  OUTPUT_DIRECTORY= Build/$(PROJECT)
-  SUPPORTED_ARCHITECTURES = IA32|X64
-  BUILD_TARGETS   = DEBUG|RELEASE
-  SKUID_IDENTIFIER= ALL
-  FLASH_DEFINITION= $(PROJECT)/OpenBoardPkg.fdf
-
-  FIX_LOAD_TOP_MEMORY_ADDRESS = 0x0
-  DEFINE   TOP_MEMORY_ADDRESS = 0x0
-
-  #
-  # Default value for OpenBoardPkg.fdf use
-  #
-  DEFINE BIOS_SIZE_OPTION = SIZE_70
-
 

 #
 # SKU Identification section - list of all SKU IDs supported by this board.
diff --git 
a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkgPcd.dsc 
b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkgPcd.dsc
index 5474edd01c..916b5189fe 100644
--- a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkgPcd.dsc
+++ b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkgPcd.dsc
@@ -24,6 +24,7 @@
   # Stage 3 - boot to shell only
   # Stage 4 - boot to OS
   # Stage 5 - boot to OS with security boot enabled
+  # Stage 6 - boot with advanced features enabled
   #
   gMinPlatformPkgTokenSpaceGuid.PcdBootStage|4
 
diff --git a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.fdf 
b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.fdf
index 59f764f49c..fc1c6a9c25 100644
--- a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.fdf
+++ b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.fdf
@@ -638,6 +638,8 @@ READ_LOCK_CAP  = TRUE
 READ_LOCK_STATUS   = TRUE
 FvNameGuid = 6053D78A-457E-4490-A237-31D0FBE2F305
 
+!include AdvancedFeaturePkg/Include/PreMemory.fdf
+
 !if gKabylakeOpenBoardPkgTokenSpaceGuid.PcdTbtEnable == TRUE
 INF $(PLATFORM_BOARD_PACKAGE)/Features/Tbt/TbtInit/Pei/PeiTbtInit.inf
 !endif
@@ -664,6 +666,8 @@ READ_LOCK_CAP  = TRUE
 READ_LOCK_STATUS   = TRUE
 FvNameGuid = BE3DF86F-E464-44A3-83F7-0D27E6B88C27
 
+!include AdvancedFeaturePkg/Include/PostMemory.fdf
+
 !if gKabylakeOpenBoardPkgTokenSpaceGuid.PcdTbtEnable == TRUE
 INF  

[edk2-devel] [edk2-platforms][PATCH V2 25/47] KabylakeOpenBoardPkg/KabylakeRvp3: Add PEI_ARCH and DXE_ARCH

2019-11-27 Thread Kubacki, Michael A
This change adds two new macros to OpenBoardPkg.dsc that identify
the build architecture for PEI and DXE modules. The intention of
this macro is to ensure that all DSC files that compose the package
build (such as those included from MinPlatformPkg or an advanced
feature package) build phase-specific drivers for the architecture
defined by the board package.

This is a macro that is required in all Minimum Platform board
packages.

Cc: Chasel Chiu 
Cc: Nate DeSimone 
Signed-off-by: Michael Kubacki 
Reviewed-by: Nate DeSimone 
---
 Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.dsc | 17 
+
 1 file changed, 17 insertions(+)

diff --git a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.dsc 
b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.dsc
index 4b07c0a684..831e441d70 100644
--- a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.dsc
+++ b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.dsc
@@ -13,6 +13,8 @@
   DEFINE  PLATFORM_BOARD_PACKAGE  = KabylakeOpenBoardPkg
   DEFINE  BOARD   = KabylakeRvp3
   DEFINE  PROJECT = 
$(PLATFORM_BOARD_PACKAGE)/$(BOARD)
+  DEFINE  PEI_ARCH= IA32
+  DEFINE  DXE_ARCH= X64
 
   #
   # Include PCD configuration for this board.
@@ -102,10 +104,15 @@
 ###
 # Component Includes
 ###
+
+# @todo: Change below line to [Components.$(PEI_ARCH)] after 
https://bugzilla.tianocore.org/show_bug.cgi?id=2308
+#is completed
 [Components.IA32]
 !include $(PLATFORM_PACKAGE)/Include/Dsc/CorePeiInclude.dsc
 !include $(PLATFORM_SI_PACKAGE)/SiPkgPei.dsc
 
+# @todo: Change below line to [Components.$(DXE_ARCH)] after 
https://bugzilla.tianocore.org/show_bug.cgi?id=2308
+#is completed
 [Components.X64]
 !include $(PLATFORM_PACKAGE)/Include/Dsc/CoreDxeInclude.dsc
 !include $(PLATFORM_SI_PACKAGE)/SiPkgDxe.dsc
@@ -266,6 +273,11 @@
   
TestPointCheckLib|$(PLATFORM_PACKAGE)/Test/Library/TestPointCheckLib/SmmTestPointCheckLib.inf
 !endif
 
+###
+# PEI Components
+###
+# @todo: Change below line to [Components.$(PEI_ARCH)] after 
https://bugzilla.tianocore.org/show_bug.cgi?id=2308
+#is completed
 [Components.IA32]
   ###
   # Edk2 Packages
@@ -373,6 +385,11 @@
 !endif
   $(PLATFORM_BOARD_PACKAGE)/BiosInfo/BiosInfo.inf
 
+###
+# DXE Components
+###
+# @todo: Change below line to [Components.$(DXE_ARCH)] after 
https://bugzilla.tianocore.org/show_bug.cgi?id=2308
+#is completed
 [Components.X64]
   ###
   # Edk2 Packages
-- 
2.16.2.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#51410): https://edk2.groups.io/g/devel/message/51410
Mute This Topic: https://groups.io/mt/63458703/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms][PATCH V2 28/47] SimicsOpenBoardPkg/BoardX58Ich10: Use PEI_ARCH and DXE_ARCH

2019-11-27 Thread Kubacki, Michael A
This change updates OpenBoardPkg.dsc to use the PEI_ARCH and
DXE_ARCH specified in the DSC file for the board package components.

An EDK II build limitation currently prevents the macros from
being able to be used, so a todo has been placed with the action
needed when the BaseTools update is completed as described in the
following Bugzilla item:
  https://bugzilla.tianocore.org/show_bug.cgi?id=2308

The intention of this macro is to ensure that all DSC files that
compose the package build (such as those included from
MinPlatformPkg or an advanced feature package) build phase-specific
drivers for the architecture defined by the board package.

This is a macro that is required in all Minimum Platform board
packages.

Cc: Wei David Y 
Cc: Agyeman Prince 
Signed-off-by: Michael Kubacki 
Reviewed-by: Nate DeSimone 
---
 Platform/Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkg.dsc | 14 
++
 1 file changed, 14 insertions(+)

diff --git a/Platform/Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkg.dsc 
b/Platform/Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkg.dsc
index 35a8c7c765..2f287a4ca4 100644
--- a/Platform/Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkg.dsc
+++ b/Platform/Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkg.dsc
@@ -70,10 +70,14 @@
 ###
 # Component Includes
 ###
+# @todo: Change below line to [Components.$(PEI_ARCH)] after 
https://bugzilla.tianocore.org/show_bug.cgi?id=2308
+#is completed
 [Components.IA32]
 !include $(PLATFORM_PACKAGE)/Include/Dsc/CorePeiInclude.dsc
 !include $(SKT_PKG)/SktPkgPei.dsc
 
+# @todo: Change below line to [Components.$(DXE_ARCH)] after 
https://bugzilla.tianocore.org/show_bug.cgi?id=2308
+#is completed
 [Components.X64]
 !include $(PLATFORM_PACKAGE)/Include/Dsc/CoreDxeInclude.dsc
 !include AdvancedFeaturePkg/Include/Dsc/CoreAdvancedDxeInclude.dsc
@@ -153,6 +157,11 @@
   ###
   
SpiFlashCommonLib|$(PCH_PKG)/Library/SmmSpiFlashCommonLib/SmmSpiFlashCommonLib.inf
 
+###
+# PEI Components
+###
+# @todo: Change below line to [Components.$(PEI_ARCH)] after 
https://bugzilla.tianocore.org/show_bug.cgi?id=2308
+#is completed
 [Components.IA32]
   ###
   # Edk2 Packages
@@ -202,6 +211,11 @@
   PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
   }
 
+###
+# DXE Components
+###
+# @todo: Change below line to [Components.$(DXE_ARCH)] after 
https://bugzilla.tianocore.org/show_bug.cgi?id=2308
+#is completed
 [Components.X64]
   ###
   # Edk2 Packages
-- 
2.16.2.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#51413): https://edk2.groups.io/g/devel/message/51413
Mute This Topic: https://groups.io/mt/63459244/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms][PATCH V2 32/47] WhiskeylakeOpenBoardPkg/WhiskeylakeURvp: Add FvAdvancedPreMemory

2019-11-27 Thread Kubacki, Michael A
This change adds a standalone firmware volume for pre-memory
advanced features called FvAdvancedPreMemory to the flash map.

Pre-memory advanced feature modules were previously kept in a child
firmware volume of FvAdvanced called FvAdvancedPreMem. This change
simplifies the flash layout and separation of pre-memory and
post-memory modules.

Cc: Chasel Chiu 
Cc: Nate DeSimone 
Signed-off-by: Michael Kubacki 
Reviewed-by: Nate DeSimone 
---
 
Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Include/Fdf/FlashMapInclude.fdf
 | 24 +-
 Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoardPkg.fdf
| 46 +++-
 2 files changed, 28 insertions(+), 42 deletions(-)

diff --git 
a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Include/Fdf/FlashMapInclude.fdf
 
b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Include/Fdf/FlashMapInclude.fdf
index 9209b9e88a..e0db381942 100644
--- 
a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Include/Fdf/FlashMapInclude.fdf
+++ 
b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Include/Fdf/FlashMapInclude.fdf
@@ -1,12 +1,10 @@
 ## @file
-#  FDF file of Platform.
-#
+#  FDF file for the WhiskeylakeURvp board.
 #
 #  Copyright (c) 2019, Intel Corporation. All rights reserved.
 #
 #  SPDX-License-Identifier: BSD-2-Clause-Patent
 #
-#
 ##
 
 
#=#
@@ -27,23 +25,25 @@ SET 
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize  = 0x2000
 SET gMinPlatformPkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareOffset   = 
0x0002  # Flash addr (0xFF82)
 SET gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize= 
0x0002  #
 SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedOffset  = 
0x0004  # Flash addr (0xFF84)
-SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedSize= 
0x0006  #
-SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecurityOffset  = 
0x000A  # Flash addr (0xFF8A)
+SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedSize= 
0x0005  #
+SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecurityOffset  = 
0x0009  # Flash addr (0xFF89)
 SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecuritySize= 
0x0007  #
-SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootOffset= 
0x0011  # Flash addr (0xFF91)
+SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootOffset= 
0x0010  # Flash addr (0xFF90)
 SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootSize  = 
0x0009  #
-SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootOffset  = 
0x001A  # Flash addr (0xFF9A)
+SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootOffset  = 
0x0019  # Flash addr (0xFF99)
 SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootSize= 
0x0019  #
-SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvPostMemoryOffset= 
0x0033  # Flash addr (0xFFB3)
+SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvPostMemoryOffset= 
0x0032  # Flash addr (0xFFB2)
 SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvPostMemorySize  = 
0x0017  #
-SET gSiPkgTokenSpaceGuid.PcdFlashMicrocodeFvOffset  = 
0x004A  # Flash addr (0xFFCA)
+SET gSiPkgTokenSpaceGuid.PcdFlashMicrocodeFvOffset  = 
0x0049  # Flash addr (0xFFC9)
 SET gSiPkgTokenSpaceGuid.PcdFlashMicrocodeFvSize= 
0x000B  #
-SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspSOffset  = 
0x0055  # Flash addr (0xFFD5)
+SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspSOffset  = 
0x0054  # Flash addr (0xFFD4)
 SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspSSize= 
0x0007  #
-SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspMOffset  = 
0x005C  # Flash addr (0xFFDC)
+SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspMOffset  = 
0x005B  # Flash addr (0xFFDB)
 SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspMSize= 
0x000EC000  #
-SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspTOffset  = 
0x006AC000  # Flash addr (0xFFEAC000)
+SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspTOffset  = 
0x0069C000  # Flash addr (0xFFE9C000)
 SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspTSize= 
0x00014000  #
+SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedPreMemoryOffset = 
0x006B  # Flash addr (0xFFEB)
+SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedPreMemorySize   = 
0x0001  #
 SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvPreMemoryOffset = 
0x006C  # Flash addr (0xFFEC)
 SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvPreMemorySize   = 
0x0014  #
 
diff --git 
a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoardPkg.fdf 

[edk2-devel] [edk2-platforms][PATCH V2 26/47] KabylakeOpenBoardPkg/GalagoPro3: Add PEI_ARCH and DXE_ARCH

2019-11-27 Thread Kubacki, Michael A
This change adds two new macros to OpenBoardPkg.dsc that identify
the build architecture for PEI and DXE modules. The intention of
this macro is to ensure that all DSC files that compose the package
build (such as those included from MinPlatformPkg or an advanced
feature package) build phase-specific drivers for the architecture
defined by the board package.

This is a macro that is required in all Minimum Platform board
packages.

Cc: Chasel Chiu 
Cc: Nate DeSimone 
Signed-off-by: Michael Kubacki 
Reviewed-by: Nate DeSimone 
---
 Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkg.dsc | 16 

 1 file changed, 16 insertions(+)

diff --git a/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkg.dsc 
b/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkg.dsc
index acdc31e708..d4ca2daa18 100644
--- a/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkg.dsc
+++ b/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkg.dsc
@@ -14,6 +14,8 @@
   DEFINE  PLATFORM_BOARD_PACKAGE  = KabylakeOpenBoardPkg
   DEFINE  BOARD   = GalagoPro3
   DEFINE  PROJECT = 
$(PLATFORM_BOARD_PACKAGE)/$(BOARD)
+  DEFINE  PEI_ARCH= IA32
+  DEFINE  DXE_ARCH= X64
 
   #
   # Include PCD configuration for this board.
@@ -74,10 +76,14 @@
 ###
 # Component Includes
 ###
+# @todo: Change below line to [Components.$(PEI_ARCH)] after 
https://bugzilla.tianocore.org/show_bug.cgi?id=2308
+#is completed
 [Components.IA32]
 !include $(PLATFORM_PACKAGE)/Include/Dsc/CorePeiInclude.dsc
 !include $(PLATFORM_SI_PACKAGE)/SiPkgPei.dsc
 
+# @todo: Change below line to [Components.$(DXE_ARCH)] after 
https://bugzilla.tianocore.org/show_bug.cgi?id=2308
+#is completed
 [Components.X64]
 !include $(PLATFORM_PACKAGE)/Include/Dsc/CoreDxeInclude.dsc
 !include $(PLATFORM_SI_PACKAGE)/SiPkgDxe.dsc
@@ -228,6 +234,11 @@
   
TestPointCheckLib|$(PLATFORM_PACKAGE)/Test/Library/TestPointCheckLib/SmmTestPointCheckLib.inf
 !endif
 
+###
+# PEI Components
+###
+# @todo: Change below line to [Components.$(PEI_ARCH)] after 
https://bugzilla.tianocore.org/show_bug.cgi?id=2308
+#is completed
 [Components.IA32]
   ###
   # Edk2 Packages
@@ -301,6 +312,11 @@
 !endif
   $(PLATFORM_BOARD_PACKAGE)/BiosInfo/BiosInfo.inf
 
+###
+# DXE Components
+###
+# @todo: Change below line to [Components.$(DXE_ARCH)] after 
https://bugzilla.tianocore.org/show_bug.cgi?id=2308
+#is completed
 [Components.X64]
   ###
   # Edk2 Packages
-- 
2.16.2.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#51411): https://edk2.groups.io/g/devel/message/51411
Mute This Topic: https://groups.io/mt/63458822/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms][PATCH V2 24/47] Features/Intel/AdvancedFeaturePkg: Add FDF include files

2019-11-27 Thread Kubacki, Michael A
Adds FDF files that group all currently available advanced features
so they can be conveniently included into board packages.

The Minimum Platform defines two firmware volumes for advanced
features: FvAdvancedPreMemory and FvAdvanced.

This change provides all pre-memory advanced feature modules to
be included in FvAdvancedPreMemory via
AdvancedFeaturePkg/Include/PreMemory.fdf. All post-memory advanced
feature modules to be included in FvAdvanced are available in
AdvancedFeaturePkg/Include/PostMemory.fdf.

Cc: Sai Chaganty 
Cc: Liming Gao 
Signed-off-by: Michael Kubacki 
Reviewed-by: Nate DeSimone 
---
 Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf | 57 

 Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf  | 57 

 2 files changed, 114 insertions(+)

diff --git a/Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf 
b/Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf
new file mode 100644
index 00..57b29a42b9
--- /dev/null
+++ b/Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf
@@ -0,0 +1,57 @@
+## @file
+#  FDF file for post-memory advanced features.
+#
+#  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) 2019, Intel Corporation. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
+
+#
+# Debug Advanced Features
+#
+!if gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable == TRUE
+  !include Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf
+!endif
+!if gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable == TRUE
+  !include Debugging/Usb3DebugFeaturePkg/Include/PostMemory.fdf
+!endif
+
+#
+# Network Advanced Features
+#
+!if gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable == TRUE
+  !include Network/NetworkFeaturePkg/Include/PostMemory.fdf
+!endif
+
+#
+# Out-of-Band Management Advanced Features
+#
+!if gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable == TRUE
+  !include OutOfBandManagement/IpmiFeaturePkg/Include/PostMemory.fdf
+!endif
+
+#
+# Power Management Advanced Features
+#
+!if gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable == TRUE
+  !include PowerManagement/S3FeaturePkg/Include/PostMemory.fdf
+!endif
+
+#
+# System Information Advanced Features
+#
+!if gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable == TRUE
+  !include SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf
+!endif
+
+#
+# User Interface Advanced Features
+#
+!if gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable == 
TRUE
+  !include UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf
+!endif
diff --git a/Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf 
b/Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf
new file mode 100644
index 00..20d25dd173
--- /dev/null
+++ b/Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf
@@ -0,0 +1,57 @@
+## @file
+#  FDF file for pre-memory advanced features.
+#
+#  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) 2019, Intel Corporation. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
+
+#
+# Debug Advanced Features
+#
+!if gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable == TRUE
+  !include Debugging/AcpiDebugFeaturePkg/Include/PreMemory.fdf
+!endif
+!if gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable == TRUE
+  !include Debugging/Usb3DebugFeaturePkg/Include/PreMemory.fdf
+!endif
+
+#
+# Network Advanced Features
+#
+!if gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable == TRUE
+  !include Network/NetworkFeaturePkg/Include/PreMemory.fdf
+!endif
+
+#
+# Out-of-Band Management Advanced Features
+#
+!if gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable == TRUE
+  !include OutOfBandManagement/IpmiFeaturePkg/Include/PreMemory.fdf
+!endif
+
+#
+# Power Management Advanced Features
+#
+!if gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable == TRUE
+  !include PowerManagement/S3FeaturePkg/Include/PreMemory.fdf
+!endif
+
+#
+# System Information Advanced Features
+#
+!if gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable == TRUE
+  !include SystemInformation/SmbiosFeaturePkg/Include/PreMemory.fdf
+!endif
+
+#
+# User Interface Advanced Features
+#
+!if gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable == 
TRUE
+  !include UserInterface/UserAuthFeaturePkg/Include/PreMemory.fdf
+!endif
-- 
2.16.2.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#51409): https://edk2.groups.io/g/devel/message/51409
Mute This Topic: https://groups.io/mt/63458566/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  

[edk2-devel] [edk2-platforms][PATCH V2 29/47] MinPlatformPkg: Add FvAdvancedPreMemory

2019-11-27 Thread Kubacki, Michael A
This change adds a new firmware volume to MinPlatformPkg called
FvAdvancedPreMemory. This firmware volume is used to hold advanced
feature modules that must be available in pre-memory.

Previously, these modules were kept as an uncompressed child FV in
FvAdvanced. However, in memory constrained environments before
permanent memory is initialized, it is preferable to have a
dedicated firmware volume that can simply be installed as a
standalone firmware volume to reduce the need for creating FV HOBs
for other post-memory advanced features if they are not needed and
to simplify the FV layout and FV installation process.

Cc: Chasel Chiu 
Cc: Nate DeSimone 
Cc: Liming Gao 
Signed-off-by: Michael Kubacki 
---
 Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec   
  |  3 ++
 
Platform/Intel/MinPlatformPkg/PlatformInit/Library/PeiReportFvLib/PeiReportFvLib.inf
 | 42 ++--
 
Platform/Intel/MinPlatformPkg/PlatformInit/Library/PeiReportFvLib/PeiReportFvLib.c
   | 24 ---
 3 files changed, 44 insertions(+), 25 deletions(-)

diff --git a/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec 
b/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec
index 6a765d689d..21013cc87c 100644
--- a/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec
+++ b/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec
@@ -168,6 +168,9 @@ SetCacheMtrrLib|Include/Library/SetCacheMtrrLib.h
   
gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecurityBase|0x|UINT32|0x2010
   
gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecuritySize|0x|UINT32|0x2011
   
gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecurityOffset|0x|UINT32|0x2012
+  
gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedPreMemoryBase|0x|UINT32|0x202D
+  
gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedPreMemorySize|0x|UINT32|0x202E
+  
gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedPreMemoryOffset|0x|UINT32|0x202F
   
gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedBase|0x|UINT32|0x2013
   
gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedSize|0x|UINT32|0x2014
   
gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedOffset|0x|UINT32|0x2015
diff --git 
a/Platform/Intel/MinPlatformPkg/PlatformInit/Library/PeiReportFvLib/PeiReportFvLib.inf
 
b/Platform/Intel/MinPlatformPkg/PlatformInit/Library/PeiReportFvLib/PeiReportFvLib.inf
index 4d96c9cf31..1ce3034fcc 100644
--- 
a/Platform/Intel/MinPlatformPkg/PlatformInit/Library/PeiReportFvLib/PeiReportFvLib.inf
+++ 
b/Platform/Intel/MinPlatformPkg/PlatformInit/Library/PeiReportFvLib/PeiReportFvLib.inf
@@ -1,7 +1,7 @@
 ### @file
 # Component information file for the Report Firmware Volume (FV) library.
 #
-# Copyright (c) 2018, Intel Corporation. All rights reserved.
+# Copyright (c) 2018 - 2019, Intel Corporation. All rights reserved.
 #
 # SPDX-License-Identifier: BSD-2-Clause-Patent
 #
@@ -30,22 +30,24 @@
   PeiReportFvLib.c
 
 [Pcd]
-  gMinPlatformPkgTokenSpaceGuid.PcdFspWrapperBootMode   ## CONSUMES
-  gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaBaseAddress ## CONSUMES
-  gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize## CONSUMES
-  gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspMBase  ## CONSUMES
-  gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspMSize  ## CONSUMES
-  gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspSBase  ## CONSUMES
-  gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspSSize  ## CONSUMES
-  gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspUBase  ## CONSUMES
-  gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspUSize  ## CONSUMES
-  gMinPlatformPkgTokenSpaceGuid.PcdFlashFvPostMemoryBase## CONSUMES
-  gMinPlatformPkgTokenSpaceGuid.PcdFlashFvPostMemorySize## CONSUMES
-  gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootBase  ## CONSUMES
-  gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootSize  ## CONSUMES
-  gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootBase## CONSUMES
-  gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootSize## CONSUMES
-  gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecurityBase  ## CONSUMES
-  gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecuritySize  ## CONSUMES
-  gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedBase  ## CONSUMES
-  gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedSize  ## CONSUMES
+  gMinPlatformPkgTokenSpaceGuid.PcdFspWrapperBootMode ## CONSUMES
+  gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaBaseAddress   ## CONSUMES
+  gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize  ## CONSUMES
+  gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspMBase## CONSUMES
+  gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspMSize## CONSUMES
+  gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspSBase## CONSUMES
+  gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspSSize## CONSUMES
+  gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspUBase## CONSUMES
+  

[edk2-devel] [edk2-platforms][PATCH V2 31/47] KabylakeOpenBoardPkg/GalagoPro3: Add FvAdvancedPreMemory

2019-11-27 Thread Kubacki, Michael A
This change adds a standalone firmware volume for pre-memory
advanced features called FvAdvancedPreMemory to the flash map.

Pre-memory advanced feature modules were previously kept in a child
firmware volume of FvAdvanced called FvAdvancedPreMem. This change
simplifies the flash layout and separation of pre-memory and
post-memory modules.

Cc: Chasel Chiu 
Cc: Nate DeSimone 
Signed-off-by: Michael Kubacki 
Reviewed-by: Nate DeSimone 
---
 Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/Include/Fdf/FlashMapInclude.fdf 
| 20 +
 Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkg.fdf
| 46 +++-
 2 files changed, 27 insertions(+), 39 deletions(-)

diff --git 
a/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/Include/Fdf/FlashMapInclude.fdf
 
b/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/Include/Fdf/FlashMapInclude.fdf
index c7f314ffe4..6cb6d54f55 100644
--- 
a/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/Include/Fdf/FlashMapInclude.fdf
+++ 
b/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/Include/Fdf/FlashMapInclude.fdf
@@ -27,22 +27,24 @@ SET 
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize= 0x0002
 SET gKabylakeOpenBoardPkgTokenSpaceGuid.PcdFlashNvDebugMessageOffset = 
0x0004  # Flash addr (0xFFA6)
 SET gKabylakeOpenBoardPkgTokenSpaceGuid.PcdFlashNvDebugMessageSize   = 
0x0001  #
 SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedOffset  = 
0x0005  # Flash addr (0xFFA7)
-SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedSize= 
0x0006  #
-SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecurityOffset  = 
0x000B  # Flash addr (0xFFAD)
+SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedSize= 
0x0005  #
+SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecurityOffset  = 
0x000A  # Flash addr (0xFFAC)
 SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecuritySize= 
0x0007  #
-SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootOffset= 
0x0012  # Flash addr (0xFFB4)
+SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootOffset= 
0x0011  # Flash addr (0xFFB3)
 SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootSize  = 
0x0009  #
-SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootOffset  = 
0x001B  # Flash addr (0xFFBD)
+SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootOffset  = 
0x001A  # Flash addr (0xFFBC)
 SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootSize= 
0x0014  #
-SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvPostMemoryOffset= 
0x002F  # Flash addr (0xFFD1)
+SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvPostMemoryOffset= 
0x002E  # Flash addr (0xFFD0)
 SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvPostMemorySize  = 
0x000B  #
-SET gSiPkgTokenSpaceGuid.PcdFlashMicrocodeFvOffset  = 
0x003A  # Flash addr (0xFFDC)
+SET gSiPkgTokenSpaceGuid.PcdFlashMicrocodeFvOffset  = 
0x0039  # Flash addr (0xFFDB)
 SET gSiPkgTokenSpaceGuid.PcdFlashMicrocodeFvSize= 
0x000A  #
-SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspSOffset  = 
0x0044  # Flash addr (0xFFE6)
+SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspSOffset  = 
0x0043  # Flash addr (0xFFE5)
 SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspSSize= 
0x0006  #
-SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspMOffset  = 
0x004A  # Flash addr (0xFFEC)
+SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspMOffset  = 
0x0049  # Flash addr (0xFFEB)
 SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspMSize= 
0x000BA000  #
-SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspTOffset  = 
0x0055A000  # Flash addr (0xFFF7A000)
+SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspTOffset  = 
0x0054A000  # Flash addr (0xFFF6A000)
 SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspTSize= 
0x6000  #
+SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedPreMemoryOffset = 
0x0055  # Flash addr (0xFFF7)
+SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedPreMemorySize   = 
0x0001  #
 SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvPreMemoryOffset = 
0x0056  # Flash addr (0xFFF8)
 SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvPreMemorySize   = 
0x0008  #
diff --git a/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkg.fdf 
b/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkg.fdf
index d5ae9dce41..0a9b933e40 100644
--- a/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkg.fdf
+++ b/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkg.fdf
@@ -177,6 +177,10 @@ 
gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspTBase|gMinPlatformPkgTokenSpaceGuid.P
 # FSP_T Section
 FILE = $(PLATFORM_FSP_BIN_PACKAGE)/Fsp_Rebased_T.fd
 

[edk2-devel] [edk2-platforms][PATCH V2 27/47] WhiskeylakeOpenBoardPkg/WhiskeylakeURvp: Add PEI_ARCH and DXE_ARCH

2019-11-27 Thread Kubacki, Michael A
This change adds two new macros to OpenBoardPkg.dsc that identify
the build architecture for PEI and DXE modules. The intention of
this macro is to ensure that all DSC files that compose the package
build (such as those included from MinPlatformPkg or an advanced
feature package) build phase-specific drivers for the architecture
defined by the board package.

This is a macro that is required in all Minimum Platform board
packages.

Cc: Chasel Chiu 
Cc: Nate DeSimone 
Signed-off-by: Michael Kubacki 
Reviewed-by: Nate DeSimone 
---
 Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoardPkg.dsc | 16 

 1 file changed, 16 insertions(+)

diff --git 
a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoardPkg.dsc 
b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoardPkg.dsc
index 127147c734..ae3fec05ed 100644
--- a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoardPkg.dsc
+++ b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoardPkg.dsc
@@ -15,6 +15,8 @@
   DEFINE  PLATFORM_BOARD_PACKAGE= WhiskeylakeOpenBoardPkg
   DEFINE  BOARD = WhiskeylakeURvp
   DEFINE  PROJECT   = $(PLATFORM_BOARD_PACKAGE)/$(BOARD)
+  DEFINE  PEI_ARCH  = IA32
+  DEFINE  DXE_ARCH  = X64
 
   #
   # Include PCD configuration for this board.
@@ -73,10 +75,14 @@
 ###
 # Component Includes
 ###
+# @todo: Change below line to [Components.$(PEI_ARCH)] after 
https://bugzilla.tianocore.org/show_bug.cgi?id=2308
+#is completed
 [Components.IA32]
 !include $(PLATFORM_PACKAGE)/Include/Dsc/CorePeiInclude.dsc
 !include $(PLATFORM_SI_PACKAGE)/SiPkgPei.dsc
 
+# @todo: Change below line to [Components.$(DXE_ARCH)] after 
https://bugzilla.tianocore.org/show_bug.cgi?id=2308
+#is completed
 [Components.X64]
 !include $(PLATFORM_PACKAGE)/Include/Dsc/CoreDxeInclude.dsc
 !include $(PLATFORM_SI_PACKAGE)/SiPkgDxe.dsc
@@ -260,6 +266,11 @@
   
TestPointCheckLib|$(PLATFORM_PACKAGE)/Test/Library/TestPointCheckLib/SmmTestPointCheckLib.inf
 !endif
 
+###
+# PEI Components
+###
+# @todo: Change below line to [Components.$(PEI_ARCH)] after 
https://bugzilla.tianocore.org/show_bug.cgi?id=2308
+#is completed
 [Components.IA32]
   ###
   # Edk2 Packages
@@ -330,6 +341,11 @@
 !endif
   $(PLATFORM_BOARD_PACKAGE)/BiosInfo/BiosInfo.inf
 
+###
+# DXE Components
+###
+# @todo: Change below line to [Components.$(DXE_ARCH)] after 
https://bugzilla.tianocore.org/show_bug.cgi?id=2308
+#is completed
 [Components.X64]
   ###
   # Edk2 Packages
-- 
2.16.2.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#51412): https://edk2.groups.io/g/devel/message/51412
Mute This Topic: https://groups.io/mt/63459061/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms][PATCH V2 23/47] Features/Intel/AdvancedFeaturePkg: Add temporary build workaround

2019-11-27 Thread Kubacki, Michael A
This change adds a temporary build workaround to allow the advanced
feature PCDs to be used in conditional statements in DSC files even
if they are not referenced in INF files.

Support to allow a FeaturePCD to be used in a conditional statement
without being referenced in an INF file has been requested in the
following Bugzilla item:
https://bugzilla.tianocore.org/show_bug.cgi?id=2270

This change can be reverted when that Bugzilla is completed and the
change is submitted to edk2.

Cc: Sai Chaganty 
Cc: Liming Gao 
Signed-off-by: Michael Kubacki 
Reviewed-by: Nate DeSimone 
---
 Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc   
 |  2 +
 
Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaround.dsc
 | 74 
 
Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaround.inf
 | 57 +++
 
Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaround.c
   | 31 
 4 files changed, 164 insertions(+)

diff --git a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc 
b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
index 50c0e81048..23e7c6474a 100644
--- a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
+++ b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
@@ -30,6 +30,8 @@
   PEI_ARCH= IA32
   DXE_ARCH= X64
 
+!include 
AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaround.dsc
+
 

 #
 # Advanced Feature Enable section - all advanced features are enabling for the
diff --git 
a/Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaround.dsc
 
b/Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaround.dsc
new file mode 100644
index 00..227ae00908
--- /dev/null
+++ 
b/Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaround.dsc
@@ -0,0 +1,74 @@
+## @file
+# Build description file for a temporary build workaround.
+#
+# The feature enable PCD for advanced features must be referenced in an INF
+# to be referenced in DSC/FDF files. This DSC only exists in the build to
+# allow the PCDs to be referenced. This workaround does not affect the final
+# flash image or boot in any way.
+#
+# The request to update BaseTools to allow a PCD to be referenced in DSC/FDF
+# files without requiring the PCD to be referenced in an INF file is tracked
+# here: https://bugzilla.tianocore.org/show_bug.cgi?id=2270
+#
+# When the BaseTools update is complete, this file can entirely be removed
+# from this package.
+#
+# Copyright (c) 2019, Intel Corporation. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
+
+#
+# BEGIN:Temporary Build Workaround (resolution: 
https://bugzilla.tianocore.org/show_bug.cgi?id=2270)
+#
+
+# THIS FILE IS TEMPORARY. PLEASE TRY TO LOOK PAST THE "HACKS" ASSOCIATED WITH 
IT.
+#
+# With the BaseTools change requested, the changes needed to move to the end 
state are simply:
+#  1. Remove the !include for this file in AdvancedFeatures.dsc
+#  2. Remove this directory
+
+!if $(PLATFORM_NAME) != AdvancedFeaturePkg
+#
+# AdvancedFeaturePkg initializes all FeaturePCDs to TRUE so they can 
conveniently be built in one package.
+# Board packages will normally only enable (and therefore reference) a small 
subset of advanced features
+# relative to the board. If an INF does not reference a package DEC file 
(which will be the case if the
+# feature is not enabled) then the DSC must set ("define") the PCD for the 
conditional statements based
+# on the PCD to work.
+#
+# AdvancedFeaturePkg has no problem as it naturally has a need to set al PCDs 
to TRUE for build.
+# The section below sets all PCDs to FALSE in the DSC file so if the feature 
is not enabled by a board,
+# the build will still be successful.
+#
+[PcdsFeatureFlag]
+  gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable
|FALSE
+  gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable  
|FALSE
+  gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable
|FALSE
+  gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable  
|FALSE
+  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable  
|FALSE
+  gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable
|FALSE
+  gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable
|FALSE
+!endif
+
+#
+# The LibraryClasses required to build TemporaryBuildWorkaround.inf
+# (mostly libraries requiring other libraries)
+#
+[LibraryClasses]
+  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
+  BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
+  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
+  

[edk2-devel] [edk2-platforms][PATCH V2 21/47] Features/Intel/NetworkFeaturePkg: Add initial package

2019-11-27 Thread Kubacki, Michael A
Adds a new feature package for the Network feature.

The Network feature code is actually in edk2/NetworkPkg at this
time so this package inclues the content from edk2/NetworkPkg. In
the future, it is preferred to move the source code from
NetworkPkg to NetworkFeaturePkg.

Cc: Sai Chaganty 
Cc: Liming Gao 
Signed-off-by: Michael Kubacki 
---
 Features/Intel/Network/NetworkFeaturePkg/NetworkFeaturePkg.dec  |  30 
 Features/Intel/Network/NetworkFeaturePkg/Include/NetworkFeature.dsc | 152 

 Features/Intel/Network/NetworkFeaturePkg/NetworkFeaturePkg.dsc  |  30 
 Features/Intel/Network/NetworkFeaturePkg/Include/PostMemory.fdf |  10 ++
 Features/Intel/Network/NetworkFeaturePkg/Include/PreMemory.fdf  |   8 ++
 Features/Intel/Network/NetworkFeaturePkg/Readme.md  | 100 
+
 6 files changed, 330 insertions(+)

diff --git a/Features/Intel/Network/NetworkFeaturePkg/NetworkFeaturePkg.dec 
b/Features/Intel/Network/NetworkFeaturePkg/NetworkFeaturePkg.dec
new file mode 100644
index 00..670b76e52f
--- /dev/null
+++ b/Features/Intel/Network/NetworkFeaturePkg/NetworkFeaturePkg.dec
@@ -0,0 +1,30 @@
+## @file
+# This package provides advanced feature functionality for Network support.
+# This package should only depend on EDK II Core packages, IntelSiliconPkg, 
and MinPlatformPkg.
+#
+# The DEC files are used by the utilities that parse DSC and
+# INF files to generate AutoGen.c and AutoGen.h files
+# for the build infrastructure.
+#
+# Copyright (c) 2019, Intel Corporation. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
+
+[Defines]
+  DEC_SPECIFICATION = 0x00010017
+  PACKAGE_NAME  = NetworkFeaturePkg
+  PACKAGE_GUID  = CA1BF91C-8B5E-40C2-9C4C-DD250D2170A9
+  PACKAGE_VERSION   = 0.1
+
+[Includes]
+  Include
+
+[LibraryClasses]
+
+[Guids]
+  gNetworkFeaturePkgTokenSpaceGuid  =  {0x990904ed, 0xb62a, 0x4b46, {0xa2, 
0x9d, 0xe4, 0x09, 0xa6, 0x7f, 0x54, 0x68}}
+
+[PcdsFeatureFlag]
+  
gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable|FALSE|BOOLEAN|0xA001
diff --git 
a/Features/Intel/Network/NetworkFeaturePkg/Include/NetworkFeature.dsc 
b/Features/Intel/Network/NetworkFeaturePkg/Include/NetworkFeature.dsc
new file mode 100644
index 00..c59c21ee6c
--- /dev/null
+++ b/Features/Intel/Network/NetworkFeaturePkg/Include/NetworkFeature.dsc
@@ -0,0 +1,152 @@
+## @file
+# This is a build description file for the Network advanced feature.
+# This file should be included into another package DSC file to build this 
feature.
+#
+# The DEC files are used by the utilities that parse DSC and
+# INF files to generate AutoGen.c and AutoGen.h files
+# for the build infrastructure.
+#
+# Copyright (c) 2019, Intel Corporation. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
+
+
+#
+# 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
+
+  !include NetworkPkg/NetworkDefines.dsc.inc
+
+
+#
+# PCD Section - list of EDK II PCD Entries modified by the feature.
+#
+
+[PcdsFixedAtBuild]
+  !include NetworkPkg/NetworkPcds.dsc.inc
+
+
+#
+# Library Class section - list of all Library Classes needed by this feature.
+#
+
+[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
+  

[edk2-devel] [edk2-platforms][PATCH V2 15/47] Features/Intel/IpmiFeaturePkg: Add modules

2019-11-27 Thread Kubacki, Michael A
This change adds the modules for the IPMI feature to
IpmiFeaturePkg.

Cc: Sai Chaganty 
Cc: Liming Gao 
Signed-off-by: Michael Kubacki 
---
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec   
  |   8 +
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc  
  |  78 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dsc   
  |   2 +
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMemory.fdf   
  |   8 +
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PreMemory.fdf
  |   3 +
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcAcpi/BmcAcpi.inf  
  |  47 
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/BmcElog.inf  
  |  33 +++
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbDxe.inf   
  |  37 +++
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbPei.inf   
  |  37 +++
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFru/IpmiFru.inf  
  |  35 +++
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/DxeIpmiInit.inf 
  |  34 +++
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/PeiIpmiInit.inf 
  |  32 +++
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/OsWdt/OsWdt.inf  
  |  33 +++
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/SolStatus/SolStatus.inf  
  |  37 +++
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcAcpi/BmcAcpi.c
  | 257 
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/BmcElog.c
  | 236 ++
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbDxe.c 
  | 236 ++
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbPei.c 
  |  84 +++
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFru/IpmiFru.c
  |  67 +
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/DxeIpmiInit.c   
  | 150 
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/PeiIpmiInit.c   
  |  96 
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/OsWdt/OsWdt.c
  | 112 +
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/SolStatus/SolStatus.c
  | 164 +
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcAcpi/BmcSsdt/BmcSsdt.asl  
  |  28 +++
 
Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcAcpi/BmcSsdt/IpmiOprRegions.asi
 |  58 +
 25 files changed, 1909 insertions(+), 3 deletions(-)

diff --git 
a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec 
b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
index 4c43fc5f49..1426496d28 100644
--- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
@@ -36,3 +36,11 @@
 
 [PcdsFeatureFlag]
   gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable|FALSE|BOOLEAN|0xA001
+
+[PcdsFixedAtBuild]
+  gIpmiFeaturePkgTokenSpaceGuid.PcdMaxSOLChannels|3|UINT8|0xF001
+
+[PcdsDynamic, PcdsDynamicEx]
+  gIpmiFeaturePkgTokenSpaceGuid.PcdFRB2EnabledFlag|TRUE|BOOLEAN|0xD001
+  gIpmiFeaturePkgTokenSpaceGuid.PcdFRBTimeoutValue|360|UINT16|0xD002
+  gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiIoBaseAddress|0xCA2|UINT16|0xD003
diff --git 
a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc 
b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc
index c6a385108b..a82f18a68c 100644
--- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc
@@ -18,6 +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
 
 

 #
@@ -32,6 +38,36 @@
   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|OutOfBandManagement/IpmiFeaturePkg/Library/IpmiCommandLib/IpmiCommandLib.inf
+
+[LibraryClasses.common.PEI_CORE,LibraryClasses.common.PEIM]
+  ###
+  # Edk2 Packages
+  

[edk2-devel] [edk2-platforms][PATCH V2 14/47] Features/Intel/IpmiFeaturePkg: Add libraries

2019-11-27 Thread Kubacki, Michael A
This change adds the libraries required for the IPMI feature to
IpmiFeaturePkg.

Cc: Sai Chaganty 
Cc: Liming Gao 
Signed-off-by: Michael Kubacki 
---
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec   
   |   9 +
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc  
   |  72 +
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dsc   
   |   5 +
 
Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiCommandLib/IpmiCommandLib.inf
   |  32 +++
 
Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiPlatformHookLibNull/IpmiPlatformHookLibNull.inf
 |  26 ++
 
Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/Library/IpmiCommandLib.h
| 235 +
 
Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/Library/IpmiPlatformHookLib.h
   |  23 ++
 
Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiCommandLib/IpmiCommandLibNetFnApp.c
 | 248 ++
 
Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiCommandLib/IpmiCommandLibNetFnChassis.c
 | 101 +++
 
Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiCommandLib/IpmiCommandLibNetFnStorage.c
 | 275 
 
Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiCommandLib/IpmiCommandLibNetFnTransport.c
   |  81 ++
 
Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiPlatformHookLibNull/IpmiPlatformHookLibNull.c
   |  36 +++
 12 files changed, 1143 insertions(+)

diff --git 
a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec 
b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
index dfae88..4c43fc5f49 100644
--- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
@@ -22,6 +22,15 @@
 [Includes]
   Include
 
+[LibraryClasses]
+  ## @libraryclass  Provides services to send IPMI commands.
+  #
+  IpmiCommandLib|Include/Library/IpmiCommandLib.inf
+
+  ## @libraryclass  Provides an API for platform-specific IPMI hooks.
+  #
+  IpmiCommandLib|Include/Library/IpmiPlatformHookLib.h
+
 [Guids]
   gIpmiFeaturePkgTokenSpaceGuid  =  {0xc05283f6, 0xd6a8, 0x48f3, {0x9b, 0x59, 
0xfb, 0xca, 0x71, 0x32, 0x0f, 0x12}}
 
diff --git 
a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc 
b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc
new file mode 100644
index 00..c6a385108b
--- /dev/null
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc
@@ -0,0 +1,72 @@
+## @file
+# This is a build description file for the Intelligent Platform Management 
Interface (IPMI) advanced feature.
+# This file should be included into another package DSC file to build this 
feature.
+#
+# The DEC files are used by the utilities that parse DSC and
+# INF files to generate AutoGen.c and AutoGen.h files
+# for the build infrastructure.
+#
+# Copyright (c) 2019, Intel Corporation. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
+
+
+#
+# Defines Section - statements that will be processed to create a Makefile.
+#
+
+[Defines]
+
+
+#
+# Library Class section - list of all Library Classes needed by this feature.
+#
+
+[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
+
+
+#
+# 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
+#   

[edk2-devel] [edk2-platforms][PATCH V2 06/47] Features/Intel/OutOfBandManagement: Add Readme.md

2019-11-27 Thread Kubacki, Michael A
Adds the Readme.md file to briefly explain the types of features
supported in the OutOfBandManagement feature domain directory.

Cc: Sai Chaganty 
Cc: Liming Gao 
Signed-off-by: Michael Kubacki 
---
 Features/Intel/OutOfBandManagement/Readme.md | 8 
 1 file changed, 8 insertions(+)

diff --git a/Features/Intel/OutOfBandManagement/Readme.md 
b/Features/Intel/OutOfBandManagement/Readme.md
new file mode 100644
index 00..dc526029a7
--- /dev/null
+++ b/Features/Intel/OutOfBandManagement/Readme.md
@@ -0,0 +1,8 @@
+# **EDK II Minimum Platform Firmware Out-of-Band Management Advanced Features**
+
+This feature domain directory contains out-of-band management related advanced 
features.
+
+Features may be added to this domain whose primary role and responsibility is 
related to out-of-band management. These
+are features that typically interface with an external controller to enable 
system maintenance operations such as
+monitoring, logging, and recovery control functions independent of the main 
processors, host CPU firmware (BIOS), and
+host operating system. An out-of-band controller is usually available when the 
system is in a powered down state.
-- 
2.16.2.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#51391): https://edk2.groups.io/g/devel/message/51391
Mute This Topic: https://groups.io/mt/63456833/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms][PATCH V2 22/47] Features/Intel/AdvancedFeaturePkg: Add package

2019-11-27 Thread Kubacki, Michael A
This change adds AdvancedFeaturePkg to the Features/Intel
directory. AdvancedFeaturePkg is a special package that is
located at the root level of Features/Intel.

All advanced features can be built using the AdvancedFeaturePkg
build. To build all advanced features, follow the instructions in
the Feature/Intel/Readme.md file. The actual build is performed by
executing the following command in the Features/Intel directory:

"build -p AdvancedFeaturePkg/AdvancedFeaturePkg.dsc -a IA32 -a X64"

Cc: Sai Chaganty 
Cc: Liming Gao 
Signed-off-by: Michael Kubacki 
---
 Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dec   | 31 +++
 Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc   | 51 
++
 Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc | 56 

 3 files changed, 138 insertions(+)

diff --git a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dec 
b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dec
new file mode 100644
index 00..797a1eeb98
--- /dev/null
+++ b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dec
@@ -0,0 +1,31 @@
+## @file
+#  Advanced Feature Package build declaration file.
+#
+# Advanced features allow a board package to be extended with advanced 
functionality.
+#
+# This package should not contain any specific advanced features. The package 
has two responsibilities:
+# 1. Present a consolidated and simplified view of all available advanced 
features to board packages.
+# 2. Provide a simple, single package build for all available advanced 
features.
+#
+# The DEC files are used by the utilities that parse DSC and
+# INF files to generate AutoGen.c and AutoGen.h files
+# for the build infrastructure.
+#
+# Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
+[Defines]
+DEC_SPECIFICATION = 0x00010017
+PACKAGE_NAME  = AdvancedFeaturePkg
+PACKAGE_VERSION   = 0.1
+PACKAGE_GUID  = 086F1F68-76CD-4F40-A712-06939A0BDD12
+
+[Includes]
+Include
+
+[Guids]
+gAdvancedFeaturePkgTokenSpaceGuid =  {0xa8514688, 0x6693, 0x4ab5, 
{0xaa, 0xc8, 0xcc, 0xa9, 0x8d, 0xde, 0x90, 0xe1}}
+
+[PcdsFeatureFlag]
diff --git a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc 
b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
new file mode 100644
index 00..50c0e81048
--- /dev/null
+++ b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
@@ -0,0 +1,51 @@
+## @file
+#  Advanced Feature Package build description file.
+#
+# Advanced features allow a board package to be extended with advanced 
functionality.
+#
+# This package should not contain any specific advanced features. The package 
has two responsibilities:
+# 1. Present a consolidated and simplified view of all available advanced 
features to board packages.
+# 2. Provide a simple, single package build for all available advanced 
features.
+#
+# Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
+
+
+#
+# Defines Section - statements that will be processed to create a Makefile.
+#
+
+[Defines]
+  PLATFORM_NAME   = AdvancedFeaturePkg
+  PLATFORM_GUID   = 5E4C05BC-C5F0-4843-BAE1-3AAFE269DB8F
+  PLATFORM_VERSION= 0.1
+  DSC_SPECIFICATION   = 0x00010005
+  OUTPUT_DIRECTORY= Build/AdvancedFeaturePkg
+  SUPPORTED_ARCHITECTURES = IA32|X64
+  BUILD_TARGETS   = DEBUG|RELEASE
+  SKUID_IDENTIFIER= DEFAULT
+  PEI_ARCH= IA32
+  DXE_ARCH= X64
+
+
+#
+# Advanced Feature Enable section - all advanced features are enabling for the
+#   AdvancedFeaturePkg build.
+#
+
+[PcdsFeatureFlag]
+  gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable|TRUE
+  gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable  |TRUE
+  gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable|TRUE
+  gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable  |TRUE
+  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable  |TRUE
+  gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable|TRUE
+  gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable|TRUE
+
+#
+# This package builds all advanced features.
+#
+!include Include/AdvancedFeatures.dsc
diff --git a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc 

[edk2-devel] [edk2-platforms][PATCH V2 17/47] Features/Intel/SmbiosFeaturePkg: Update default strings

2019-11-27 Thread Kubacki, Michael A
Updates the PCD string default values so they are generic. The
PCDs should be customized by the package that uses the feature.

Cc: Sai Chaganty 
Cc: Liming Gao 
Signed-off-by: Michael Kubacki 
Reviewed-by: Nate DeSimone 
---
 Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec | 30 
++--
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git 
a/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec 
b/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
index c06a87aad0..6170f37969 100644
--- a/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
+++ b/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
@@ -138,35 +138,35 @@
   #
   # SMBIOS Type 0 BIOS Information Strings
   #
-  
gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType0StringBiosReleaseDate|"2008-12-23"|VOID*|0xD101
-  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType0StringBiosVersion|"PURLEY 
CV/CRB BIOS Internal"|VOID*|0xD102
-  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType0StringVendor|"Intel 
Corporation"|VOID*|0xD103
+  
gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType0StringBiosReleaseDate|"01/01/2019"|VOID*|0xD101
+  
gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType0StringBiosVersion|"1.0"|VOID*|0xD102
+  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType0StringVendor|"BIOS 
Vendor"|VOID*|0xD103
 
   #
   # SMBIOS Type 1 System Information Strings
   #
-  
gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType1StringFamily|"Family"|VOID*|0xD104
-  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType1StringManufacturer|"Intel 
Corporation"|VOID*|0xD105
-  
gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType1StringProductName|"PURLEY"|VOID*|0xD106
+  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType1StringFamily|"System 
Family"|VOID*|0xD104
+  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType1StringManufacturer|"System 
Manufacturer"|VOID*|0xD105
+  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType1StringProductName|"System 
Product Name"|VOID*|0xD106
   
gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType1StringSerialNumber|"UNKNOWN"|VOID*|0xD107
-  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType1StringSKUNumber|"SKU 
Number"|VOID*|0xD108
-  
gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType1StringVersion|"1.0"|VOID*|0xD109
+  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType1StringSKUNumber|"System SKU 
Number"|VOID*|0xD108
+  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType1StringVersion|"System 
Version"|VOID*|0xD109
 
   #
   # SMBIOS Type 2 Base Board Information Strings
   #
   gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType2StringAssetTag|"Base Board 
Asset Tag"|VOID*|0xD10A
   gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType2StringLocationInChassis|"Part 
Component"|VOID*|0xD10B
-  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType2StringManufacturer|"Intel 
Corporation"|VOID*|0xD10C
-  
gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType2StringProductName|"PURLEY"|VOID*|0xD10D
-  
gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType2StringSerialNumber|"SPRO03200016"|VOID*|0xD10E
-  
gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType2StringVersion|"E63448-400"|VOID*|0xD10F
+  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType2StringManufacturer|"Base Board 
Manufacturer"|VOID*|0xD10C
+  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType2StringProductName|"Base Board 
Product Name"|VOID*|0xD10D
+  
gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType2StringSerialNumber|"UNKNOWN"|VOID*|0xD10E
+  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType2StringVersion|"Base Board 
Version"|VOID*|0xD10F
 
   #
   # SMBIOS Type 3 System Enclosure Chassis Strings
   #
   gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType3StringAssetTag|"Chassis Asset 
Tag"|VOID*|0xD111
-  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType3StringManufacturer|"Intel 
Corporation"|VOID*|0xD112
+  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType3StringManufacturer|"Chassis 
Manufacturer"|VOID*|0xD112
   
gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType3StringSerialNumber|"UNKNOWN"|VOID*|0xD113
-  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType3StringSKUNumber|"SKU 
Number"|VOID*|0xD114
-  
gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType3StringVersion|"0.1"|VOID*|0xD115
+  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType3StringSKUNumber|"Chassis SKU 
Number"|VOID*|0xD114
+  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType3StringVersion|"Chassis 
Version"|VOID*|0xD115
-- 
2.16.2.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#51402): https://edk2.groups.io/g/devel/message/51402
Mute This Topic: https://groups.io/mt/63457892/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms][PATCH V2 10/47] Features/Intel/Network: Add Readme.md

2019-11-27 Thread Kubacki, Michael A
Adds the Readme.md file to briefly explain the types of features
supported in the Network feature domain directory.

Cc: Sai Chaganty 
Cc: Liming Gao 
Signed-off-by: Michael Kubacki 
Reviewed-by: Nate DeSimone 
---
 Features/Intel/Network/Readme.md | 5 +
 1 file changed, 5 insertions(+)

diff --git a/Features/Intel/Network/Readme.md b/Features/Intel/Network/Readme.md
new file mode 100644
index 00..780a1264ac
--- /dev/null
+++ b/Features/Intel/Network/Readme.md
@@ -0,0 +1,5 @@
+# **EDK II Minimum Platform Firmware Network Features**
+
+This feature domain directory contains network related advanced features.
+
+Features may be added to this domain whose primary role and responsibility is 
related to network technologies.
-- 
2.16.2.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#51395): https://edk2.groups.io/g/devel/message/51395
Mute This Topic: https://groups.io/mt/63457306/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms][PATCH V2 16/47] Features/Intel/SmbiosFeaturePkg: Add initial package

2019-11-27 Thread Kubacki, Michael A
Adds a new feature package for the SMBIOS feature.

Cc: Sai Chaganty 
Cc: Liming Gao 
Signed-off-by: Michael Kubacki 
---
 Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec 
   | 172 
 Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.dsc
   | 115 +
 Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dsc 
   |  30 
 Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf   
   |  10 ++
 Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PreMemory.fdf
   |   8 +
 
Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf
   |  83 ++
 Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasic.h 
   |  45 +
 
Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicEntryPoint.c
  | 125 ++
 
Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/Type0BiosVendorFunction.c
|  81 +
 
Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/Type1SystemManufacturerFunction.c
| 114 +
 
Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/Type2BaseBoardManufacturerFunction.c
 | 131 +++
 
Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/Type32BootInformationFunction.c
  |  56 +++
 
Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/Type3ChassisManufacturerFunction.c
   | 125 ++
 Features/Intel/SystemInformation/SmbiosFeaturePkg/Readme.md
   |  96 +++
 14 files changed, 1191 insertions(+)

diff --git 
a/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec 
b/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
new file mode 100644
index 00..c06a87aad0
--- /dev/null
+++ b/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
@@ -0,0 +1,172 @@
+## @file
+# This package provides advanced feature functionality for System Management 
BIOS (SMBIOS).
+# This package should only depend on EDK II Core packages, IntelSiliconPkg, 
and MinPlatformPkg.
+#
+# The DEC files are used by the utilities that parse DSC and
+# INF files to generate AutoGen.c and AutoGen.h files
+# for the build infrastructure.
+#
+# Copyright (c) 2019, Intel Corporation. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
+
+[Defines]
+  DEC_SPECIFICATION = 0x00010017
+  PACKAGE_NAME  = SmbiosFeaturePkg
+  PACKAGE_GUID  = 8CCEE569-02AD-4844-8725-F4C7966E320A
+  PACKAGE_VERSION   = 0.1
+
+[Includes]
+  Include
+
+[LibraryClasses]
+
+[Guids]
+  gSmbiosFeaturePkgTokenSpaceGuid  =  {0xc1530658, 0xe234, 0x4c13, {0xb6, 
0x82, 0xd3, 0x87, 0x84, 0xf1, 0xd7, 0x16}}
+
+[PcdsFeatureFlag]
+  
gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable|FALSE|BOOLEAN|0xA001
+
+[PcdsDynamic, PcdsDynamicEx]
+  #
+  # SMBIOS Type 0 BIOS Information
+  #
+  
gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType0BiosInformation|{0x0}|SMBIOS_TABLE_TYPE0|0xD001
 {
+
+  IndustryStandard/SmBios.h
+
+  MdePkg/MdePkg.dec
+  SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
+  }
+  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType0BiosInformation.Vendor|0x1
+  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType0BiosInformation.BiosVersion|0x2
+  
gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType0BiosInformation.BiosSegment|0xF000
+  
gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType0BiosInformation.BiosReleaseDate|0x3
+  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType0BiosInformation.BiosSize|0xFF
+  
gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType0BiosInformation.BiosCharacteristics.PciIsSupported|1
+  
gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType0BiosInformation.BiosCharacteristics.PlugAndPlayIsSupported|1
+  
gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType0BiosInformation.BiosCharacteristics.BiosIsUpgradable|1
+  
gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType0BiosInformation.BiosCharacteristics.BiosShadowingAllowed|1
+  
gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType0BiosInformation.BiosCharacteristics.BootFromCdIsSupported|1
+  
gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType0BiosInformation.BiosCharacteristics.SelectableBootIsSupported|1
+  
gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType0BiosInformation.BiosCharacteristics.EDDSpecificationIsSupported|1
+  
gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType0BiosInformation.BiosCharacteristics.Floppy525_12IsSupported|1
+  
gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType0BiosInformation.BiosCharacteristics.Floppy35_720IsSupported|1
+  
gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType0BiosInformation.BiosCharacteristics.Floppy35_288IsSupported|1
+  

[edk2-devel] [edk2-platforms][PATCH V2 12/47] Features/Intel/S3FeaturePkg: Add initial package

2019-11-27 Thread Kubacki, Michael A
Adds a new feature package for the S3 feature.

Cc: Sai Chaganty 
Cc: Liming Gao 
Signed-off-by: Michael Kubacki 
---
 Features/Intel/PowerManagement/S3FeaturePkg/S3FeaturePkg.dec   |  30 +
 Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc  | 122 

 Features/Intel/PowerManagement/S3FeaturePkg/S3FeaturePkg.dsc   |  30 +
 Features/Intel/PowerManagement/S3FeaturePkg/Include/PostMemory.fdf |   8 ++
 Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf  |  10 ++
 Features/Intel/PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf|  35 ++
 Features/Intel/PowerManagement/S3FeaturePkg/S3Pei/S3Pei.c  |  36 ++
 Features/Intel/PowerManagement/S3FeaturePkg/Readme.md  |  94 
+++
 8 files changed, 365 insertions(+)

diff --git a/Features/Intel/PowerManagement/S3FeaturePkg/S3FeaturePkg.dec 
b/Features/Intel/PowerManagement/S3FeaturePkg/S3FeaturePkg.dec
new file mode 100644
index 00..2a723ad3d6
--- /dev/null
+++ b/Features/Intel/PowerManagement/S3FeaturePkg/S3FeaturePkg.dec
@@ -0,0 +1,30 @@
+## @file
+# This package provides advanced feature functionality for S3 support.
+# This package should only depend on EDK II Core packages, IntelSiliconPkg, 
and MinPlatformPkg.
+#
+# The DEC files are used by the utilities that parse DSC and
+# INF files to generate AutoGen.c and AutoGen.h files
+# for the build infrastructure.
+#
+# Copyright (c) 2019, Intel Corporation. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
+
+[Defines]
+  DEC_SPECIFICATION = 0x00010017
+  PACKAGE_NAME  = S3FeaturePkg
+  PACKAGE_GUID  = 600F7249-65BD-44E2-80D7-344BD5250198
+  PACKAGE_VERSION   = 0.1
+
+[Includes]
+  Include
+
+[LibraryClasses]
+
+[Guids]
+  gS3FeaturePkgTokenSpaceGuid  =  {0x423c5a51, 0x36e9, 0x4aea, {0x92, 0xdd, 
0xdd, 0xae, 0x5b, 0x4a, 0x3d, 0x24}}
+
+[PcdsFeatureFlag]
+  gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable|FALSE|BOOLEAN|0xA001
diff --git a/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc 
b/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc
new file mode 100644
index 00..647dc3f93a
--- /dev/null
+++ b/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc
@@ -0,0 +1,122 @@
+## @file
+# This is a build description file for the S3 advanced feature.
+# This file should be included into another package DSC file to build this 
feature.
+#
+# The DEC files are used by the utilities that parse DSC and
+# INF files to generate AutoGen.c and AutoGen.h files
+# for the build infrastructure.
+#
+# Copyright (c) 2019, Intel Corporation. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
+
+
+#
+# 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
+
+
+#
+# Library Class section - list of all Library Classes needed by this feature.
+#
+
+[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
+  ###
+  
SmmAccessLib|IntelSiliconPkg/Feature/SmmAccess/Library/PeiSmmAccessLib/PeiSmmAccessLib.inf
+
+
+#
+# Component section - list of all components that need built for this feature.
+#
+# Note: 

[edk2-devel] [edk2-platforms][PATCH V2 18/47] Features/Intel/AcpiDebugFeaturePkg: Add initial package

2019-11-27 Thread Kubacki, Michael A
Adds a new feature package for the ACPI Debug feature.

Cc: Eric Dong 
Cc: Liming Gao 
Signed-off-by: Michael Kubacki 
Reviewed-by: Nate DeSimone 
---
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec  
|  39 ++
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dsc  
|  30 ++
 Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc 
| 125 +
 Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf   
|  11 +
 Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PreMemory.fdf
|   8 +
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf 
|  55 +++
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf 
|  58 +++
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebug.c  
| 519 
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebug.asl
| 102 
 Features/Intel/Debugging/AcpiDebugFeaturePkg/Readme.md
| 121 +
 10 files changed, 1068 insertions(+)

diff --git 
a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec 
b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
new file mode 100644
index 00..a74ee3e084
--- /dev/null
+++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
@@ -0,0 +1,39 @@
+## @file
+# This package provides advanced feature functionality for ACPI Debug support.
+# This package should only depend on EDK II Core packages, IntelSiliconPkg, 
and MinPlatformPkg.
+#
+# The DEC files are used by the utilities that parse DSC and
+# INF files to generate AutoGen.c and AutoGen.h files
+# for the build infrastructure.
+#
+# Copyright (c) 2019, Intel Corporation. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
+
+[Defines]
+  DEC_SPECIFICATION = 0x00010017
+  PACKAGE_NAME  = AcpiDebugFeaturePkg
+  PACKAGE_GUID  = 53E3E908-5DF9-4137-ABB9-6DE162C3898F
+  PACKAGE_VERSION   = 0.1
+
+[Includes]
+  Include
+
+[LibraryClasses]
+
+[Guids]
+  gAcpiDebugFeaturePkgTokenSpaceGuid  =  {0xaf2582c0, 0x93fe, 0x466d, {0xb6, 
0xa4, 0x4d, 0x23, 0x77, 0xf7, 0x82, 0xa7}}
+
+[PcdsFeatureFlag]
+  
gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable|FALSE|BOOLEAN|0xA001
+
+[PcdsFixedAtBuild,PcdsPatchableInModule,PcdsDynamic,PcdsDynamicEx]
+  ## This PCD specifies the ACPI debug message buffer size.
+  
gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugBufferSize|0x1|UINT32|0xF001
+
+[PcdsDynamic, PcdsDynamicEx]
+  ## This PCD specifies ACPI debug message buffer address.
+  #  The PCD value will be updated during boot time when the buffer is 
allocated.
+  gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugAddress|0|UINT32|0xD001
diff --git 
a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dsc 
b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dsc
new file mode 100644
index 00..62cc559d8f
--- /dev/null
+++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dsc
@@ -0,0 +1,30 @@
+## @file
+# This package provides advanced feature functionality for ACPI Debug support.
+# This package should only depend on EDK II Core packages, IntelSiliconPkg, 
and MinPlatformPkg.
+#
+# The DEC files are used by the utilities that parse DSC and
+# INF files to generate AutoGen.c and AutoGen.h files
+# for the build infrastructure.
+#
+# Copyright (c) 2019, Intel Corporation. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
+
+[Defines]
+  PLATFORM_NAME  = AcpiDebugFeaturePkg
+  PLATFORM_GUID  = F3001DF1-4A5B-42A9-944B-E766BDDC7B99
+  PLATFORM_VERSION   = 0.1
+  DSC_SPECIFICATION  = 0x00010005
+  OUTPUT_DIRECTORY   = Build/$(PLATFORM_NAME)
+  SUPPORTED_ARCHITECTURES= IA32|X64
+  BUILD_TARGETS  = DEBUG|RELEASE|NOOPT
+  SKUID_IDENTIFIER   = DEFAULT
+  PEI_ARCH   = IA32
+  DXE_ARCH   = X64
+
+#
+# This package always builds the feature.
+#
+!include Include/AcpiDebugFeature.dsc
diff --git 
a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc 
b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc
new file mode 100644
index 00..3e6b1f69c2
--- /dev/null
+++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc
@@ -0,0 +1,125 @@
+## @file
+# This is a build description file for the ACPI Debug advanced feature.
+# This file should be included into another package DSC file to build this 
feature.
+#
+# The DEC files are used by the utilities that parse DSC and
+# INF files to generate AutoGen.c and AutoGen.h files
+# for the build infrastructure.
+#
+# Copyright (c) 2019, Intel Corporation. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
+

[edk2-devel] [edk2-platforms][PATCH V2 13/47] Features/Intel/IpmiFeaturePkg: Add initial package

2019-11-27 Thread Kubacki, Michael A
Adds a new feature package for the IPMI feature.

This change updates the advanced feature package template for IPMI
and adds the updated template to the IpmiFeaturePkg.

Cc: Sai Chaganty 
Cc: Liming Gao 
Signed-off-by: Michael Kubacki 
---
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec | 29 
+++
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dsc | 24 
++
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMemory.fdf |  8 
++
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PreMemory.fdf  |  8 
++
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Readme.md  | 89 

 5 files changed, 158 insertions(+)

diff --git 
a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec 
b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
new file mode 100644
index 00..dfae88
--- /dev/null
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
@@ -0,0 +1,29 @@
+## @file
+# This package provides advanced feature functionality to enable the
+# Intelligent Platform Management Interface (IPMI).
+# This package should only depend on EDK II Core packages, IntelSiliconPkg, 
and MinPlatformPkg.
+#
+# The DEC files are used by the utilities that parse DSC and
+# INF files to generate AutoGen.c and AutoGen.h files
+# for the build infrastructure.
+#
+# Copyright (c) 2019, Intel Corporation. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
+
+[Defines]
+  DEC_SPECIFICATION = 0x00010017
+  PACKAGE_NAME  = IpmiFeaturePkg
+  PACKAGE_GUID  = AE091910-F6C9-4AB5-B8B4-995E2F0D5166
+  PACKAGE_VERSION   = 0.1
+
+[Includes]
+  Include
+
+[Guids]
+  gIpmiFeaturePkgTokenSpaceGuid  =  {0xc05283f6, 0xd6a8, 0x48f3, {0x9b, 0x59, 
0xfb, 0xca, 0x71, 0x32, 0x0f, 0x12}}
+
+[PcdsFeatureFlag]
+  gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable|FALSE|BOOLEAN|0xA001
diff --git 
a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dsc 
b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dsc
new file mode 100644
index 00..1952ba185e
--- /dev/null
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dsc
@@ -0,0 +1,24 @@
+## @file
+# This package provides advanced feature functionality to enable the
+# Intelligent Platform Management Interface (IPMI).
+# This package should only depend on EDK II Core packages, IntelSiliconPkg, 
and MinPlatformPkg.
+#
+# The DEC files are used by the utilities that parse DSC and
+# INF files to generate AutoGen.c and AutoGen.h files
+# for the build infrastructure.
+#
+# Copyright (c) 2019, Intel Corporation. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
+
+[Defines]
+  PLATFORM_NAME  = IpmiFeaturePkg
+  PLATFORM_GUID  = 7B2E74D7-9538-4818-B51A-492F3D33BD20
+  PLATFORM_VERSION   = 0.1
+  DSC_SPECIFICATION  = 0x00010005
+  OUTPUT_DIRECTORY   = Build/$(PLATFORM_NAME)
+  SUPPORTED_ARCHITECTURES= IA32|X64
+  BUILD_TARGETS  = DEBUG|RELEASE|NOOPT
+  SKUID_IDENTIFIER   = DEFAULT
diff --git 
a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMemory.fdf 
b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMemory.fdf
new file mode 100644
index 00..c3847c54c7
--- /dev/null
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMemory.fdf
@@ -0,0 +1,8 @@
+## @file
+#  FDF file for post-memory modules that enable Intelligent Platform 
Management Interface.
+#
+# Copyright (c) 2019, Intel Corporation. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
diff --git 
a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PreMemory.fdf 
b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PreMemory.fdf
new file mode 100644
index 00..0c82d7eb02
--- /dev/null
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PreMemory.fdf
@@ -0,0 +1,8 @@
+## @file
+#  FDF file for pre-memory modules that enable Intelligent Platform Management 
Interface.
+#
+# Copyright (c) 2019, Intel Corporation. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Readme.md 
b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Readme.md
new file mode 100644
index 00..e70f1e850b
--- /dev/null
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Readme.md
@@ -0,0 +1,89 @@
+# Overview
+* **Feature Name:** Intelligent Platform Management Interface (IPMI)
+* **PI Phase(s) Supported:** PEI, DXE
+* **SMM Required?** No
+
+More Information:
+* [IPMI Specification 2nd Generation 
v2.0](https://www.intel.com/content/dam/www/public/us/en/documents/product-briefs/ipmi-second-gen-interface-spec-v2-rev1-1.pdf)
+
+## Purpose
+The IPMI feature provides firmware functionality that 

[edk2-devel] [edk2-platforms][PATCH V2 09/47] Features/Intel/UserInterface: Add Readme.md

2019-11-27 Thread Kubacki, Michael A
Adds the Readme.md file to briefly explain the types of features
supported in the UserInterface feature domain directory.

Cc: Sai Chaganty 
Cc: Liming Gao 
Signed-off-by: Michael Kubacki 
Reviewed-by: Nate DeSimone 
---
 Features/Intel/UserInterface/Readme.md | 9 +
 1 file changed, 9 insertions(+)

diff --git a/Features/Intel/UserInterface/Readme.md 
b/Features/Intel/UserInterface/Readme.md
new file mode 100644
index 00..2ef4413ade
--- /dev/null
+++ b/Features/Intel/UserInterface/Readme.md
@@ -0,0 +1,9 @@
+# **EDK II Minimum Platform Firmware User Interface Features**
+
+This feature domain directory contains user interface related advanced 
features.
+
+Features may be added to this domain whose primary role and responsibility is 
related to user interfaces. This may
+include any number of interfaces related to user interaction with the system 
that require firmware support. High-level
+examples of common user interfaces in firmware are console support and Human 
Interface Infrastructure (HII). These
+high-level categories may comprise multiple independent features. It is 
recommended to reduce individual feature scope
+to the minimally required level for the feature to be functional to improve 
cohesion within the feature package.
-- 
2.16.2.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#51394): https://edk2.groups.io/g/devel/message/51394
Mute This Topic: https://groups.io/mt/63457198/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms][PATCH V2 08/47] Features/Intel/Debugging: Add Readme.md

2019-11-27 Thread Kubacki, Michael A
Adds the Readme.md file to briefly explain the types of features
supported in the Debugging feature domain directory.

Note that the domain directory is named "Debugging" as opposed to
"Debug" to help indicate that the directory is related to features
used for debugging and it is not an output directory for a Debug
build target.

Cc: Sai Chaganty 
Cc: Liming Gao 
Signed-off-by: Michael Kubacki 
Reviewed-by: Nate DeSimone 
---
 Features/Intel/Debugging/Readme.md | 8 
 1 file changed, 8 insertions(+)

diff --git a/Features/Intel/Debugging/Readme.md 
b/Features/Intel/Debugging/Readme.md
new file mode 100644
index 00..98bb0b9b6c
--- /dev/null
+++ b/Features/Intel/Debugging/Readme.md
@@ -0,0 +1,8 @@
+# **EDK II Minimum Platform Firmware Debug Advanced Features**
+
+This feature domain directory contains debug related advanced features. Note 
that the domain directory is named
+"Debugging" as opposed to "Debug" to help indicate that the directory is 
related to features used for debugging and it
+is not an output directory for a Debug build target.
+
+Features may be added to this domain whose primary role and responsibility is 
related to debug. The type of debug
+technology may include hardware or software debug.
-- 
2.16.2.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#51393): https://edk2.groups.io/g/devel/message/51393
Mute This Topic: https://groups.io/mt/63457066/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms][PATCH V2 11/47] TemplateFeaturePkg: Add initial package

2019-11-27 Thread Kubacki, Michael A
This change adds a new package called TemplateFeaturePkg that
should be used as a starting point for the creation of new advanced
feature packages.

TemplateFeaturePkg is not meant to be built or used directly for
functionality. It simply serves as a template to be copied and
modified. The advanced feature package creation process is
described in detail in Features/Intel/Readme.md.

Cc: Sai Chaganty 
Cc: Nate DeSimone 
Cc: Liming Gao 
Signed-off-by: Michael Kubacki 
Reviewed-by: Nate DeSimone 
---
 Features/Intel/TemplateFeaturePkg/TemplateFeaturePkg.dec  |  30 ++
 Features/Intel/TemplateFeaturePkg/Include/TemplateFeature.dsc | 113 

 Features/Intel/TemplateFeaturePkg/TemplateFeaturePkg.dsc  |  30 ++
 Features/Intel/TemplateFeaturePkg/Include/PostMemory.fdf  |   8 ++
 Features/Intel/TemplateFeaturePkg/Include/PreMemory.fdf   |   8 ++
 Features/Intel/TemplateFeaturePkg/Readme.md   |  71 

 6 files changed, 260 insertions(+)

diff --git a/Features/Intel/TemplateFeaturePkg/TemplateFeaturePkg.dec 
b/Features/Intel/TemplateFeaturePkg/TemplateFeaturePkg.dec
new file mode 100644
index 00..b37ce8f34a
--- /dev/null
+++ b/Features/Intel/TemplateFeaturePkg/TemplateFeaturePkg.dec
@@ -0,0 +1,30 @@
+## @file
+# This package provides advanced feature functionality for  support.
+# This package should only depend on EDK II Core packages, IntelSiliconPkg, 
and MinPlatformPkg.
+#
+# The DEC files are used by the utilities that parse DSC and
+# INF files to generate AutoGen.c and AutoGen.h files
+# for the build infrastructure.
+#
+# Copyright (c) 2019, Intel Corporation. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
+
+[Defines]
+  DEC_SPECIFICATION = 0x00010017
+  PACKAGE_NAME  = TemplateFeaturePkg
+  PACKAGE_GUID  = ----
+  PACKAGE_VERSION   = 0.1
+
+[Includes]
+  Include
+
+[LibraryClasses]
+
+[Guids]
+  gTemplateFeaturePkgTokenSpaceGuid  =  {0x, 0x, 0x, {0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}
+
+[PcdsFeatureFlag]
+  
gTemplateFeaturePkgTokenSpaceGuid.PcdTemplateFeatureEnable|FALSE|BOOLEAN|0xA001
diff --git a/Features/Intel/TemplateFeaturePkg/Include/TemplateFeature.dsc 
b/Features/Intel/TemplateFeaturePkg/Include/TemplateFeature.dsc
new file mode 100644
index 00..6742eddcf9
--- /dev/null
+++ b/Features/Intel/TemplateFeaturePkg/Include/TemplateFeature.dsc
@@ -0,0 +1,113 @@
+## @file
+# This is a build description file for the  advanced feature.
+# This file should be included into another package DSC file to build this 
feature.
+#
+# The DEC files are used by the utilities that parse DSC and
+# INF files to generate AutoGen.c and AutoGen.h files
+# for the build infrastructure.
+#
+# Copyright (c) 2019, Intel Corporation. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
+
+
+#
+# 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
+
+
+#
+# Library Class section - list of all Library Classes needed by this feature.
+#
+
+[LibraryClasses]
+
+  ## Note: This comment block should be removed from the template when the
+  #template is used.
+  #
+  #  Library classes should have a comment header that describes the type of
+  #  package the library is used from for organization purposes.
+  #
+  #  For an advanced feature, these are typically:
+  #* Edk2 Packages
+  #* Silicon Initialization Package
+  #* Platform Package
+  #* Feature Package
+  #
+  #  The comment header should follow the format:
+  #
+  #  ###
+  #  # Edk2 Packages
+  #  ###
+
+
+#
+# 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 

[edk2-devel] [edk2-platforms][PATCH V2 07/47] Features/Intel/SystemInformation: Add Readme.md

2019-11-27 Thread Kubacki, Michael A
Adds the Readme.md file to briefly explain the types of features
supported in the SystemInformation feature domain directory.

Cc: Sai Chaganty 
Cc: Liming Gao 
Signed-off-by: Michael Kubacki 
Reviewed-by: Nate DeSimone 
---
 Features/Intel/SystemInformation/Readme.md | 8 
 1 file changed, 8 insertions(+)

diff --git a/Features/Intel/SystemInformation/Readme.md 
b/Features/Intel/SystemInformation/Readme.md
new file mode 100644
index 00..cdf061d08d
--- /dev/null
+++ b/Features/Intel/SystemInformation/Readme.md
@@ -0,0 +1,8 @@
+# **EDK II Minimum Platform Firmware System Information Advanced Features**
+
+This feature domain directory contains advanced features that produce system 
information.
+
+Features may be added to this domain whose primary role and responsibility is 
related to producing structures for
+system information. The system information structures supported should be 
standardized in a public document such as
+an industry standard specification or white paper. The feature documentation 
must be referenced in the `Readme.md`
+file in the feature package.
-- 
2.16.2.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#51392): https://edk2.groups.io/g/devel/message/51392
Mute This Topic: https://groups.io/mt/63456953/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms][PATCH V2 04/47] Features/Intel: Add Readme.md

2019-11-27 Thread Kubacki, Michael A
This change adds the initial Readme.md to the root of the Features/
Intel directory. The features are maintained in an Intel
directory because they are not tested on other systems. If there
is interest to support a feature on systems other than Intel, the
feature should be tested on those other systems and the feature can
be promoted above the Intel directory.

This Readme.md is the most important file in the Features/Intel tree
as it provides the desired attributes and definition of advanced
features, the advanced feature source layout, and the new feature
creation checklist. This is the primary documentation file for new
users to understand advanced features.

Cc: Dandan Bi 
Cc: Sai Chaganty 
Cc: Chasel Chiu 
Cc: Wei David Y 
Cc: Nate DeSimone 
Cc: Eric Dong 
Cc: Liming Gao 
Cc: Agyeman Prince 
Signed-off-by: Michael Kubacki 
---
 Features/Intel/Readme.md | 236 
 1 file changed, 236 insertions(+)

diff --git a/Features/Intel/Readme.md b/Features/Intel/Readme.md
new file mode 100644
index 00..9729f90a41
--- /dev/null
+++ b/Features/Intel/Readme.md
@@ -0,0 +1,236 @@
+# **EDK II Minimum Platform Firmware Advanced Features for Intel 
Platforms**
+
+In the EDK II Minimum Platform, advanced features are non-essential features. 
Essential features are those required
+to achieve an earlier boot stage (Stage I through Stage V). The Minimum 
Platform boot stages are defined in the
+[EDK II Minimum Platform Draft 
Specification](https://edk2-docs.gitbooks.io/edk-ii-minimum-platform-specification/).
 A
+brief overview is also provided in the 
[Platform/Intel/Readme.md](https://github.com/tianocore/edk2-platforms/blob/master/Platform/Intel/Readme.md).
+
+An advanced feature must be implemented as highly cohesive and stand-alone 
software to only support a specific
+feature. Advanced features are the primary method to extend platform firmware 
capabilities in a modular fashion.
+
+If you would like to quickly get started creating a new advanced feature, you 
can jump ahead to the
+[Add New Advanced Feature Checklist](#Add-New-Advanced-Feature-Checklist) and 
reference other sections of this
+document as needed.
+
+## Overview
+
+### Advanced Feature Attributes
+Advanced features should be:
+* _Cohesive_, the feature should not contain any functionality unrelated to 
the feature.
+* _Complete_, the feature must have a complete design that minimizes 
dependencies. A feature package cannot directly
+  depend on another feature package.
+* _Easy to Integrate_, the feature should expose well-defined software 
interfaces to use and configure the feature.
+  * It should also present a set of simple and well-documented standard EDK II 
configuration options such as PCDs to
+  configure the feature.
+  * In general, features should be self-contained and started by the 
dispatcher. The board firmware should
+be required to perform as few steps as possible to enable the feature.
+  * All features are required to have a feature enable PCD 
(`PcdFeatureEnable`). Any effort to enable the feature
+besides this PCD should be carefully considered. Default configuration 
values should apply to the common case.
+* _Portable_, the feature is not allowed to depend on other advanced feature 
or board source code packages. For example,
+  if Feature A depends on output Feature B, a board integration module should 
use a generic interface in Feature A
+  to get the output and pass it to a generic interface in Feature B. 
Structures should not be shared between feature
+  packages. Most structures should be defined in a common package such as 
MdePkg if the structure is industry standard,
+  IntelSiliconPkg if the structure is specific to Intel silicon 
initialization, etc. Feature-specific structures are
+  of course allowed to be defined within a feature package and used by 
libraries and modules in that package.
+* _Self Documenting_, the feature should follow software best practices to 
allow others to debug the code and
+  contribute changes. In addition to source code, advanced features must have 
a Readme.md with sufficient
+  information for a newcomer to understand the feature.
+* _Single Instance_, the feature should not have more than one instance of a 
source solution. If an existing feature
+  package does not solve a specific instance of a problem for the feature, the 
feature package should be re-worked
+  to consider new requirements instead of duplicating feature code.
+
+  Features should be written for a specific feature technology. Outside of 
technology restrictions, the feature
+  should not make arbitrary assumptions about the type of board or system that 
may integrate the feature. Any
+  board or hardware-specific details that may vary in design should be given 
to the feature through a defined
+  and documented software interface.
+
+### Advanced Feature Packages
+Feature portability is a key aspect of board scalability. To maintain high 
cohesion within a feature package and

[edk2-devel] [edk2-platforms][PATCH V2 02/47] DebugFeaturePkg: Package DSC style cleanup

2019-11-27 Thread Kubacki, Michael A
This change refactors DebugFeaturePkg.dsc to consolidate
redundant sections and better group file content to improve
maintainability and readability.

This pattern is being applied in all Minimum Platform package
DSC files.

Cc: Eric Dong 
Cc: Liming Gao 
Signed-off-by: Michael Kubacki 
Reviewed-by: Nate DeSimone 
---
 Platform/Intel/DebugFeaturePkg/DebugFeaturePkg.dsc | 55 +---
 1 file changed, 37 insertions(+), 18 deletions(-)

diff --git a/Platform/Intel/DebugFeaturePkg/DebugFeaturePkg.dsc 
b/Platform/Intel/DebugFeaturePkg/DebugFeaturePkg.dsc
index 8e5ff4c9a3..efe705bd76 100644
--- a/Platform/Intel/DebugFeaturePkg/DebugFeaturePkg.dsc
+++ b/Platform/Intel/DebugFeaturePkg/DebugFeaturePkg.dsc
@@ -1,6 +1,6 @@
 ## @file
 # This package provides the modules that build for debug feature.
-# This DebugFeaturePkg should only depend on EDKII Core packages and 
MinPlatformPkg.
+# This package should only depend on EDKII Core packages and MinPlatformPkg.
 #
 # The DEC files are used by the utilities that parse DSC and
 # INF files to generate AutoGen.c and AutoGen.h files
@@ -23,46 +23,58 @@
   SKUID_IDENTIFIER   = DEFAULT
 
 [LibraryClasses]
-  #
-  # Entry point
-  #
-  
UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
+  ###
+  # Edk2 Packages
+  ###
   BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
   BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
-  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.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
-  
UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
+  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
   TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
-  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.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
-  
#Usb3DebugPortLib|DebugFeaturePkg/Library/Usb3DebugPortLib/Usb3DebugPortLibPeiIoMmu.inf
-
-[LibraryClasses.IA32.PEIM, LibraryClasses.X64.PEIM]
   
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.UEFI_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.DXE_SMM_DRIVER]
+  ###
+  # Edk2 Packages
+  ###
   HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
   
MemoryAllocationLib|MdePkg/Library/SmmMemoryAllocationLib/SmmMemoryAllocationLib.inf
   
SmmServicesTableLib|MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.inf
@@ -87,13 +99,20 @@
 
###
 
 [Components]
-  
DebugFeaturePkg/Library/Usb3DebugPortParameterLibPcd/Usb3DebugPortParameterLibPcd.inf
-  DebugFeaturePkg/Library/Usb3DebugPortLib/Usb3DebugPortLibNull.inf
-  DebugFeaturePkg/Library/Usb3DebugPortLib/Usb3DebugPortLibPeiIoMmu.inf
+  

[edk2-devel] [edk2-platforms][PATCH V2 00/47] Intel Advanced Feature Refactor

2019-11-27 Thread Kubacki, Michael A
RFC:https://edk2.groups.io/g/devel/message/49880

V2 Changes:
1. Reordered the patch series to the following high-level order:
   1. Clean up existing advanced feature DSC files
   2. Add new Readme.md files
   3. Add new advanced feature packages in Features/Intel
   4. Make changes in board packages in Platform/Intel to use the new features
   5. Enable the advanced features in the board packages in Platform/Intel
   6. Remove the original set of advanced features in Platform/Intel
   7. Update Maintainers.txt for the changes

   This is done to allow closed source platforms to switch their advanced 
features from
   the set in Platform/Intel to Features/Intel after line #3 and before line #6.

2.  [edk2-platforms][PATCH V1 28/49] Features/Intel/NetworkFeaturePkg: Add 
initial package
1. Filled in the "Purpose" section of the feature Readme.md.

3.  [edk2-platforms][PATCH V1 27/49] Features/Intel/UserAuthFeaturePkg: Add 
initial package
1. Filled in the "Purpose" section of the feature Readme.md.

4.  [edk2-platforms][PATCH V1 25/49] Features/Intel/Usb3DebugFeaturePkg: Add 
initial package
1. Filled in the "Purpose" section of the feature Readme.md.

5.  [edk2-platforms][PATCH V1 22/49] DebugFeaturePkg: Remove the ACPI Debug 
feature
1. Filled in the "Purpose" section of the feature Readme.md.

6.  [edk2-platforms][PATCH V1 20/49] Features/Intel/SmbiosFeaturePkg: Add 
initial package
1. Filled in the "Purpose" section of the feature Readme.md.
2. Updated copyright years.

7.  [edk2-platforms][PATCH V1 18/49] Features/Intel/IpmiFeaturePkg: Add modules
1. Updated copyright years.

8.  [edk2-platforms][PATCH V1 16/49] Features/Intel/IpmiFeaturePkg: Add initial 
package
1. Filled in the "Purpose" section of the feature Readme.md.

9.  [edk2-platforms][PATCH V1 14/49] Features/Intel: Add S3FeaturePkg
1. Filled in the "Purpose" section of the feature Readme.md.

10. [edk2-platforms][PATCH V1 04/49] Features/Intel: Add Readme.md
1. Added a Linux example for setting the PACKAGES_PATH value in 
Features/Intel/Readme.md

This patch series introduces a consistent design for Intel advanced features.

Advanced features in this context refer to the definition stated in
the EDK II Minimum Platform specification. Information regarding
this feature design is provided in Features/Intel/Readme.md.

An RFC was sent to the mailing list on 11/1/2019 that stated the
intention of creating the Features directory in edk2-platforms for
this purpose and that change is implemented in this patch series.

Testing performed:
* Feature packages and board packages build successfully
* Board packages boot successfully to their supported OS
* Board package Stage 4 and Stage 6 tested

The actual feature source implementation that previously existed was
not functionally modified. Any issues reported by PatchCheck.py were
fixed. Future changes will be made to individually address improving the
quality of each feature and to add new features.

This patch series is intended to provide a foundation for future
changes to the advanced feature design as an incremental improvement
over the current state.

The contents of this patch series is on the following branch:
https://github.com/makubacki/edk2-platforms/tree/advanced_feature_reorg_v2

Cc: Agyeman Prince 
Cc: Chasel Chiu 
Cc: Dandan Bi 
Cc: Eric Dong 
Cc: Isaac W Oram 
Cc: Liming Gao 
Cc: Nate DeSimone 
Cc: Sai Chaganty 
Cc: Wei David Y 
Signed-off-by: Michael Kubacki 

Michael Kubacki (47):
  AdvancedFeaturePkg: Package DSC style cleanup
  DebugFeaturePkg: Package DSC style cleanup
  UserInterfaceFeaturePkg: Package DSC style cleanup
  Features/Intel: Add Readme.md
  Features/Intel/PowerManagement: Add Readme.md
  Features/Intel/OutOfBandManagement: Add Readme.md
  Features/Intel/SystemInformation: Add Readme.md
  Features/Intel/Debugging: Add Readme.md
  Features/Intel/UserInterface: Add Readme.md
  Features/Intel/Network: Add Readme.md
  TemplateFeaturePkg: Add initial package
  Features/Intel/S3FeaturePkg: Add initial package
  Features/Intel/IpmiFeaturePkg: Add initial package
  Features/Intel/IpmiFeaturePkg: Add libraries
  Features/Intel/IpmiFeaturePkg: Add modules
  Features/Intel/SmbiosFeaturePkg: Add initial package
  Features/Intel/SmbiosFeaturePkg: Update default strings
  Features/Intel/AcpiDebugFeaturePkg: Add initial package
  Features/Intel/Usb3DebugFeaturePkg: Add initial package
  Features/Intel/UserAuthFeaturePkg: Add initial package
  Features/Intel/NetworkFeaturePkg: Add initial package
  Features/Intel/AdvancedFeaturePkg: Add package
  Features/Intel/AdvancedFeaturePkg: Add temporary build workaround
  Features/Intel/AdvancedFeaturePkg: Add FDF include files
  KabylakeOpenBoardPkg/KabylakeRvp3: Add PEI_ARCH and DXE_ARCH
  KabylakeOpenBoardPkg/GalagoPro3: Add PEI_ARCH and DXE_ARCH
  WhiskeylakeOpenBoardPkg/WhiskeylakeURvp: Add PEI_ARCH and DXE_ARCH
  SimicsOpenB

[edk2-devel] [edk2-platforms][PATCH V2 01/47] AdvancedFeaturePkg: Package DSC style cleanup

2019-11-27 Thread Kubacki, Michael A
This change refactors AdvancedFeaturePkg.dsc to consolidate
redundant sections and better group file content to improve
maintainability and readability.

This pattern is being applied in all Minimum Platform package
DSC files.

Cc: Sai Chaganty 
Cc: Liming Gao 
Signed-off-by: Michael Kubacki 
Reviewed-by: Nate DeSimone 
---
 Platform/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc | 133 
+++-
 1 file changed, 71 insertions(+), 62 deletions(-)

diff --git a/Platform/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc 
b/Platform/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
index b2e7ab8302..b83e72b48c 100644
--- a/Platform/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
+++ b/Platform/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
@@ -1,5 +1,5 @@
 ## @file
-#  Platform description.
+#  Advanced Feature Package build description file.
 #
 # Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.
 #
@@ -24,8 +24,7 @@
 
 

 #
-# SKU Identification section - list of all SKU IDs supported by this
-#  Platform.
+# SKU Identification section - list of all SKU IDs supported.
 #
 

 [SkuIds]
@@ -33,88 +32,93 @@
 
 

 #
-# Pcd Section - list of all EDK II PCD Entries defined by this Platform
+# Pcd Section - list of all EDK II PCD Entries defined by this package.
 #
 

-  
+
 [PcdsFeatureFlag]
 
 

 #
-# Library Class section - list of all Library Classes needed by this Platform.
+# Library Class section - list of all Library Classes needed by this package.
 #
 

 
 [LibraryClasses.common]
-
-  PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf
-  PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
-  DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
-  
UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
-  
UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
-  
SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf
-  
PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
-
-  #
-  # Basic
-  #
+  ###
+  # Edk2 Packages
+  ###
   BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
   BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
-
-  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
+  
BasePciLibPciExpress|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf
+  
CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf
   CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
+  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
+  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
+  DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
+  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
+  
DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
+  HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
   IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
-  PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf
-  PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
-  
BasePciLibPciExpress|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf
-#  PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf
+  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
   PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf
   PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf
-  
CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf
-  PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
+  PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
+  PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf
+  
PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
   
PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
+  PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
+  PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf
+  PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
+  PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
+  

[edk2-devel] [edk2-platforms][PATCH V2 03/47] UserInterfaceFeaturePkg: Package DSC style cleanup

2019-11-27 Thread Kubacki, Michael A
This change refactors UserInterfaceFeaturePkg.dsc to consolidate
redundant sections and better group file content to improve
maintainability and readability.

This pattern is being applied in all Minimum Platform package
DSC files.

Cc: Dandan Bi 
Cc: Liming Gao 
Signed-off-by: Michael Kubacki 
Reviewed-by: Nate DeSimone 
---
 Platform/Intel/UserInterfaceFeaturePkg/UserInterfaceFeaturePkg.dsc | 45 
++--
 1 file changed, 33 insertions(+), 12 deletions(-)

diff --git a/Platform/Intel/UserInterfaceFeaturePkg/UserInterfaceFeaturePkg.dsc 
b/Platform/Intel/UserInterfaceFeaturePkg/UserInterfaceFeaturePkg.dsc
index 6c5f77b59b..bd09052f3c 100644
--- a/Platform/Intel/UserInterfaceFeaturePkg/UserInterfaceFeaturePkg.dsc
+++ b/Platform/Intel/UserInterfaceFeaturePkg/UserInterfaceFeaturePkg.dsc
@@ -1,5 +1,6 @@
 ## @file
 # This package provides UI related modules.
+# This package should only depend on EDKII Core packages and MinPlatformPkg.
 #
 # The DEC files are used by the utilities that parse DSC and
 # INF files to generate AutoGen.c and AutoGen.h files
@@ -22,32 +23,45 @@
   SKUID_IDENTIFIER   = DEFAULT
 
 [LibraryClasses]
-  
UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
+  ###
+  # Edk2 Packages
+  ###
   BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
   BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
-  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
-  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
-  
UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
-  
UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
-  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
-  
UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
-  HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
-  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
-  TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.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
+
+  #
+  # User Interface Feature Package
+  #
   
PlatformPasswordLib|UserInterfaceFeaturePkg/Library/PlatformPasswordLibNull/PlatformPasswordLibNull.inf
   
UserPasswordLib|UserInterfaceFeaturePkg/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
-  BaseCryptLib|CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
 
 
###
 #
@@ -68,10 +82,17 @@
 #
 
###
 [Components]
+  #
+  # User Interface Feature Package
+  #
+
+  # Add library instances here that are not included in package components and 
should be tested
+  # in the package build.
   
UserInterfaceFeaturePkg/Library/PlatformPasswordLibNull/PlatformPasswordLibNull.inf
   UserInterfaceFeaturePkg/Library/UserPasswordLib/UserPasswordLib.inf
   UserInterfaceFeaturePkg/Library/UserPasswordUiLib/UserPasswordUiLib.inf
 
+  # Add components here that should be included in the package build.
   

[edk2-devel] [edk2-platforms][PATCH V2 05/47] Features/Intel/PowerManagement: Add Readme.md

2019-11-27 Thread Kubacki, Michael A
Adds the Readme.md file to briefly explain the types of features
supported in the PowerManagement feature domain directory.

Cc: Sai Chaganty 
Cc: Liming Gao 
Signed-off-by: Michael Kubacki 
Reviewed-by: Nate DeSimone 
---
 Features/Intel/PowerManagement/Readme.md | 10 ++
 1 file changed, 10 insertions(+)

diff --git a/Features/Intel/PowerManagement/Readme.md 
b/Features/Intel/PowerManagement/Readme.md
new file mode 100644
index 00..f539fbd2ec
--- /dev/null
+++ b/Features/Intel/PowerManagement/Readme.md
@@ -0,0 +1,10 @@
+# **EDK II Minimum Platform Firmware Power Management Advanced Features**
+
+This feature domain directory contains power management related advanced 
features.
+
+Features may be added to this domain whose primary role and responsibility is 
related to power management including
+support for various power states such as device power states (Dx), system 
sleep states (Sx), processor power states (Cx),
+performance states (Px), etc. Firmware power management responsibilities are 
largely defined by the
+[Advanced Configuration Configuration and Power Interface 
Specification](https://uefi.org/specifications) though features
+in this domain may be written to other specifications or not defined in a 
specification at all. In any case, the
+`Readme.md` file in the feature package should reference all relevant 
documentation to the feature.
-- 
2.16.2.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#51390): https://edk2.groups.io/g/devel/message/51390
Mute This Topic: https://groups.io/mt/63456720/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel] [edk2-platforms][PATCH V1 00/49] Intel Advanced Feature Refactor

2019-11-27 Thread Kubacki, Michael A
Yes, I reordered the patch series this way in V2 and I will update the closed 
source platforms before the old advanced feature dependencies are removed.

Thanks,
Michael

> -Original Message-
> From: Bi, Dandan 
> Sent: Monday, November 18, 2019 12:41 AM
> To: Kubacki, Michael A ;
> devel@edk2.groups.io
> Cc: Agyeman, Prince ; Chiu, Chasel
> ; Dong, Eric ; Oram, Isaac W
> ; Gao, Liming ; Desimone,
> Nathaniel L ; Chaganty, Rangasai V
> ; Wei, David Y 
> Subject: RE: [edk2-platforms][PATCH V1 00/49] Intel Advanced Feature
> Refactor
> 
> Hi Michael,
> 
> One minor comment, could we add the features into Features/ folder firstly
> and then update consumer platforms if have (open platforms and close
> source platforms) to use the ones in the new location, at last delete the old
> ones in Platform/Intel  folder?
> 
> 
> Thanks,
> Dandan
> > -Original Message-
> > From: Kubacki, Michael A
> > Sent: Wednesday, November 13, 2019 11:27 AM
> > To: devel@edk2.groups.io
> > Cc: Agyeman, Prince ; Chiu, Chasel
> > ; Bi, Dandan ; Dong, Eric
> > ; Oram, Isaac W ; Gao,
> > Liming ; Desimone, Nathaniel L
> > ; Chaganty, Rangasai V
> > ; Wei, David Y 
> > Subject: [edk2-platforms][PATCH V1 00/49] Intel Advanced Feature
> Refactor
> >
> > RFC:https://edk2.groups.io/g/devel/message/49880
> >
> > This patch series introduces a consistent design for Intel advanced
> features.
> >
> > Advanced features in this context refer to the definition stated in
> > the EDK II Minimum Platform specification. Information regarding
> > this feature design is provided in Features/Intel/Readme.md.
> >
> > An RFC was sent to the mailing list on 11/1/2019 that stated the
> > intention of creating the Features directory in edk2-platforms for
> > this purpose and that change is implemented in this patch series.
> >
> > Testing performed:
> > * Feature packages and board packages build successfully
> > * Board packages boot successfully to their supported OS
> > * Board package Stage 4 and Stage 6 tested
> >
> > The actual feature source implementation was not functionally
> > modified. Any issues reported by PatchCheck.py were fixed.
> > Future changes will be made to individually address improving the
> > quality of each feature and to add new features.
> >
> > This patch series is intended to provide a foundation for future
> > changes to the advanced feature design as an incremental improvement
> > over the current state and should not be considered the final state.
> >
> > Cc: Agyeman Prince 
> > Cc: Chasel Chiu 
> > Cc: Dandan Bi 
> > Cc: Eric Dong 
> > Cc: Isaac W Oram 
> > Cc: Liming Gao 
> > Cc: Nate DeSimone 
> > Cc: Sai Chaganty 
> > Cc: Wei David Y 
> > Signed-off-by: Michael Kubacki 
> >
> > Michael Kubacki (49):
> >   AdvancedFeaturePkg: Package DSC style cleanup
> >   DebugFeaturePkg: Package DSC style cleanup
> >   UserInterfaceFeaturePkg: Package DSC style cleanup
> >   Features/Intel: Add Readme.md
> >   Features/Intel/PowerManagement: Add Readme.md
> >   Features/Intel/OutOfBandManagement: Add Readme.md
> >   Features/Intel/SystemInformation: Add Readme.md
> >   Features/Intel/Debug: Add Readme.md
> >   Features/Intel/UserInterface: Add Readme.md
> >   Features/Intel/Network: Add Readme.md
> >   TemplateFeaturePkg: Add initial package
> >   SimicsOpenBoardPkg: Remove advanced feature references
> >   AdvancedFeaturePkg: Remove the S3 feature
> >   Features/Intel: Add S3FeaturePkg
> >   AdvancedFeaturePkg: Remove the IPMI feature
> >   Features/Intel/IpmiFeaturePkg: Add initial package
> >   Features/Intel/IpmiFeaturePkg: Add libraries
> >   Features/Intel/IpmiFeaturePkg: Add modules
> >   AdvancedFeaturePkg: Remove the SMBIOS feature
> >   Features/Intel/SmbiosFeaturePkg: Add initial package
> >   Features/Intel/SmbiosFeaturePkg: Update default strings
> >   DebugFeaturePkg: Remove the ACPI Debug feature
> >   Features/Intel/AcpiDebugFeaturePkg: Add initial package
> >   DebugFeaturePkg: Remove the USB3 Debug feature
> >   Features/Intel/Usb3DebugFeaturePkg: Add initial package
> >   UserInterfaceFeaturePkg: Remove the User Authentication feature
> >   Features/Intel/UserAuthFeaturePkg: Add initial package
> >   Features/Intel/NetworkFeaturePkg: Add initial package
> >   AdvancedFeaturePkg: Remove remaining contents
> >   AdvancedFeaturePkg: Move to Features/Intel
> >   AdvancedFeaturePkg: Add feature build support
> >   AdvancedFeaturePkg: Add tempora

Re: [edk2-devel] [PATCH V1 2/2] MdeModulePkg PeiCore: Improve comment semantics

2019-11-27 Thread Kubacki, Michael A
Hi Philippe,

Thanks for your suggestions. I incorporated some of the suggestions into the V2 
series.

Thanks,
Michael

> -Original Message-
> From: devel@edk2.groups.io  On Behalf Of Philippe
> Mathieu-Daudé
> Sent: Wednesday, November 27, 2019 3:49 AM
> To: devel@edk2.groups.io; Kubacki, Michael A
> 
> Cc: Bi, Dandan ; Gao, Liming ;
> Wang, Jian J ; Wu, Hao A 
> Subject: Re: [edk2-devel] [PATCH V1 2/2] MdeModulePkg PeiCore: Improve
> comment semantics
> 
> On 11/27/19 5:06 AM, Kubacki, Michael A via Groups.Io wrote:
> > Clarifies wording in several PeiCore comments to improve
> 
> "Clarify"?
>

 
I believe an implied subject noun led to some confusion so I just explicitly 
included that in the V2 message.

> > reading comprehension.
> >
> > Cc: Dandan Bi 
> > Cc: Liming Gao 
> > Cc: Jian J Wang 
> > Cc: Hao A Wu 
> > Signed-off-by: Michael Kubacki 
> > ---
> >   MdeModulePkg/Core/Pei/FwVol/FwVol.h   |  4 ++--
> >   MdeModulePkg/Core/Pei/PeiMain.h   | 11 +-
> >   MdeModulePkg/Core/Pei/Dependency/Dependency.c |  4 ++--
> >   MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c |  4 ++--
> >   MdeModulePkg/Core/Pei/FwVol/FwVol.c   | 23 ++--
> >   MdeModulePkg/Core/Pei/Memory/MemoryServices.c |  4 ++--
> >   6 files changed, 26 insertions(+), 24 deletions(-)
> >
> > diff --git a/MdeModulePkg/Core/Pei/FwVol/FwVol.h
> > b/MdeModulePkg/Core/Pei/FwVol/FwVol.h
> > index 263f0d7a56..8aaf84870b 100644
> > --- a/MdeModulePkg/Core/Pei/FwVol/FwVol.h
> > +++ b/MdeModulePkg/Core/Pei/FwVol/FwVol.h
> > @@ -303,9 +303,9 @@ FindFileEx (
> > );
> >
> >   /**
> > -  Report the information for a new discovered FV in unknown format.
> > +  Report the information for a newly discovered FV in an unknown format.
> >
> > -  If the EFI_PEI_FIRMWARE_VOLUME_PPI has not been installed for
> > specific FV format, but
> > +  If the EFI_PEI_FIRMWARE_VOLUME_PPI has not been installed for a
> > + third-party FV format, but
> > the FV in this FV format has been discovered, then the information of
> this FV
> > will be cached into PEI_CORE_INSTANCE's UnknownFvInfo array.
> > Also a notification would be installed for unknown FV format GUID,
> > if EFI_PEI_FIRMWARE_VOLUME_PPI diff --git
> > a/MdeModulePkg/Core/Pei/PeiMain.h
> b/MdeModulePkg/Core/Pei/PeiMain.h
> > index 3f61247a0f..96d6df0485 100644
> > --- a/MdeModulePkg/Core/Pei/PeiMain.h
> > +++ b/MdeModulePkg/Core/Pei/PeiMain.h
> > @@ -1217,8 +1217,8 @@ PeiFfsGetVolumeInfo (
> > );
> >
> >   /**
> > -  This routine enable a PEIM to register itself to shadow when PEI
> > Foundation
> > -  discovery permanent memory.
> > +  This routine enables a PEIM to register itself for shadow when the
> > + PEI Foundation  discovers permanent memory.
> >
> > @param FileHandle File handle of a PEIM.
> >
> > @@ -1314,12 +1314,13 @@ ProcessFvFile (
> > );
> >
> >   /**
> > -  Get instance of PEI_CORE_FV_HANDLE for next volume according to
> given index.
> > +  Gets a PEI_CORE_FV_HANDLE instance for the next volume according to
> the given index.
> 
> "Get"?
> 

I left as-is in V2. You can see similar usage in the majority of function 
descriptions in BaseLib.h for example.

> >
> > -  This routine also will install FvInfo PPI for FV HOB in PI ways.
> > +  This routine also will install an instance of the FvInfo PPI for
> > + the FV HOB  as defined in the PI specification.
> >
> > @param PrivatePointer of PEI_CORE_INSTANCE
> > -  @param Instance   The index of FV want to be searched.
> > +  @param Instance   The index of the FV to search.
> 
> Maybe without "The" and trailing dot?
> 

Done in V2.

> >
> > @return Instance of PEI_CORE_FV_HANDLE.
> >   **/
> > diff --git a/MdeModulePkg/Core/Pei/Dependency/Dependency.c
> > b/MdeModulePkg/Core/Pei/Dependency/Dependency.c
> > index 9a8353aef2..b53e5f2686 100644
> > --- a/MdeModulePkg/Core/Pei/Dependency/Dependency.c
> > +++ b/MdeModulePkg/Core/Pei/Dependency/Dependency.c
> > @@ -2,8 +2,8 @@
> > PEI Dispatcher Dependency Evaluator
> >
> > This routine evaluates a dependency expression
> > (DEPENDENCY_EXPRESSION) to determine
> > -  if a driver can be scheduled for execution.  The criteria for
> > -  schedulability is that the dependency expression is satisfied.
> > +  if a driver can be scheduled for execution.  The criteria to be
> > + scheduled is 

[edk2-devel] [PATCH V2 2/2] MdeModulePkg PeiCore: Improve comment semantics

2019-11-27 Thread Kubacki, Michael A
This patch clarifies wording in several PeiCore comments to improve
reading comprehension.

Cc: Dandan Bi 
Cc: Liming Gao 
Cc: Jian J Wang 
Cc: Hao A Wu 
Signed-off-by: Michael Kubacki 
---
 MdeModulePkg/Core/Pei/FwVol/FwVol.h   |  9 
 MdeModulePkg/Core/Pei/PeiMain.h   | 11 +
 MdeModulePkg/Core/Pei/Dependency/Dependency.c |  4 ++--
 MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c |  4 ++--
 MdeModulePkg/Core/Pei/FwVol/FwVol.c   | 24 +++-
 MdeModulePkg/Core/Pei/Memory/MemoryServices.c |  4 ++--
 6 files changed, 30 insertions(+), 26 deletions(-)

diff --git a/MdeModulePkg/Core/Pei/FwVol/FwVol.h 
b/MdeModulePkg/Core/Pei/FwVol/FwVol.h
index 263f0d7a56..7241c01b8c 100644
--- a/MdeModulePkg/Core/Pei/FwVol/FwVol.h
+++ b/MdeModulePkg/Core/Pei/FwVol/FwVol.h
@@ -303,11 +303,12 @@ FindFileEx (
   );
 
 /**
-  Report the information for a new discovered FV in unknown format.
+  Report the information for a newly discovered FV in an unknown format.
+
+  If the EFI_PEI_FIRMWARE_VOLUME_PPI has not been installed for a third-party 
FV format, but
+  the FV has been discovered, then the information of this FV will be cached 
into PEI_CORE_INSTANCE's
+  UnknownFvInfo array.
 
-  If the EFI_PEI_FIRMWARE_VOLUME_PPI has not been installed for specific FV 
format, but
-  the FV in this FV format has been discovered, then the information of this FV
-  will be cached into PEI_CORE_INSTANCE's UnknownFvInfo array.
   Also a notification would be installed for unknown FV format GUID, if 
EFI_PEI_FIRMWARE_VOLUME_PPI
   is installed later by platform's PEIM, the original unknown FV will be 
processed by
   using new installed EFI_PEI_FIRMWARE_VOLUME_PPI.
diff --git a/MdeModulePkg/Core/Pei/PeiMain.h b/MdeModulePkg/Core/Pei/PeiMain.h
index 3f61247a0f..6431bdaaac 100644
--- a/MdeModulePkg/Core/Pei/PeiMain.h
+++ b/MdeModulePkg/Core/Pei/PeiMain.h
@@ -1217,8 +1217,8 @@ PeiFfsGetVolumeInfo (
   );
 
 /**
-  This routine enable a PEIM to register itself to shadow when PEI Foundation
-  discovery permanent memory.
+  This routine enables a PEIM to register itself for shadow when the PEI 
Foundation
+  discovers permanent memory.
 
   @param FileHandle File handle of a PEIM.
 
@@ -1314,12 +1314,13 @@ ProcessFvFile (
   );
 
 /**
-  Get instance of PEI_CORE_FV_HANDLE for next volume according to given index.
+  Gets a PEI_CORE_FV_HANDLE instance for the next volume according to the 
given index.
 
-  This routine also will install FvInfo PPI for FV HOB in PI ways.
+  This routine also will install an instance of the FvInfo PPI for the FV HOB
+  as defined in the PI specification.
 
   @param PrivatePointer of PEI_CORE_INSTANCE
-  @param Instance   The index of FV want to be searched.
+  @param Instance   Index of the FV to search
 
   @return Instance of PEI_CORE_FV_HANDLE.
 **/
diff --git a/MdeModulePkg/Core/Pei/Dependency/Dependency.c 
b/MdeModulePkg/Core/Pei/Dependency/Dependency.c
index 9a8353aef2..b53e5f2686 100644
--- a/MdeModulePkg/Core/Pei/Dependency/Dependency.c
+++ b/MdeModulePkg/Core/Pei/Dependency/Dependency.c
@@ -2,8 +2,8 @@
   PEI Dispatcher Dependency Evaluator
 
   This routine evaluates a dependency expression (DEPENDENCY_EXPRESSION) to 
determine
-  if a driver can be scheduled for execution.  The criteria for
-  schedulability is that the dependency expression is satisfied.
+  if a driver can be scheduled for execution.  The criteria to be scheduled is
+  that the dependency expression is satisfied.
 
 Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.
 SPDX-License-Identifier: BSD-2-Clause-Patent
diff --git a/MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c 
b/MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c
index c9f2a91264..a18ac47f61 100644
--- a/MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c
+++ b/MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c
@@ -1347,8 +1347,8 @@ DepexSatisfied (
 }
 
 /**
-  This routine enable a PEIM to register itself to shadow when PEI Foundation
-  discovery permanent memory.
+  This routine enables a PEIM to register itself for shadow when the PEI 
Foundation
+  discovers permanent memory.
 
   @param FileHandle File handle of a PEIM.
 
diff --git a/MdeModulePkg/Core/Pei/FwVol/FwVol.c 
b/MdeModulePkg/Core/Pei/FwVol/FwVol.c
index c21eb9c039..b3661146f2 100644
--- a/MdeModulePkg/Core/Pei/FwVol/FwVol.c
+++ b/MdeModulePkg/Core/Pei/FwVol/FwVol.c
@@ -593,7 +593,7 @@ FirmwareVolumeInfoPpiNotifyCallback (
   }
 
   //
-  // Locate the corresponding FV_PPI according to founded FV's format GUID
+  // Locate the corresponding FV_PPI according to the format GUID of the FV 
found
   //
   Status = PeiServicesLocatePpi (
  ,
@@ -1533,7 +1533,7 @@ ProcessFvFile (
   );
 
 //
-// Inform the extracted FvImage to FV HOB consumer phase, i.e. DXE phase
+// Expose the extracted FvImage to the FV HOB consumer phase, i.e. DXE 
phase
 //
 BuildFvHob (
   (EFI_PHYSICAL_ADDRESS) (UINTN) 

[edk2-devel] [PATCH V2 1/2] MdeModulePkg PeiCore: Fix typos

2019-11-27 Thread Kubacki, Michael A
Cc: Dandan Bi 
Cc: Liming Gao 
Cc: Jian J Wang 
Cc: Hao A Wu 
Signed-off-by: Michael Kubacki 
---
 MdeModulePkg/Core/Pei/PeiMain.inf | 10 ++--
 MdeModulePkg/Core/Pei/FwVol/FwVol.h   | 20 
 MdeModulePkg/Core/Pei/PeiMain.h   | 40 
 MdeModulePkg/Core/Pei/Dependency/Dependency.c |  8 ++--
 MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c | 48 +--
 MdeModulePkg/Core/Pei/FwVol/FwVol.c   | 50 ++--
 MdeModulePkg/Core/Pei/Hob/Hob.c   |  4 +-
 MdeModulePkg/Core/Pei/Image/Image.c   | 10 ++--
 MdeModulePkg/Core/Pei/Memory/MemoryServices.c | 16 +++
 MdeModulePkg/Core/Pei/PeiMain/PeiMain.c   |  2 +-
 MdeModulePkg/Core/Pei/Ppi/Ppi.c   |  4 +-
 MdeModulePkg/Core/Pei/Security/Security.c | 12 ++---
 12 files changed, 112 insertions(+), 112 deletions(-)

diff --git a/MdeModulePkg/Core/Pei/PeiMain.inf 
b/MdeModulePkg/Core/Pei/PeiMain.inf
index 7c482dacfc..6e25cc4023 100644
--- a/MdeModulePkg/Core/Pei/PeiMain.inf
+++ b/MdeModulePkg/Core/Pei/PeiMain.inf
@@ -69,12 +69,12 @@
 
 [Guids]
   gPeiAprioriFileNameGuid   ## SOMETIMES_CONSUMES   ## File
-  ## PRODUCES   ## UNDEFINED # Install ppi
-  ## CONSUMES   ## UNDEFINED # Locate ppi
+  ## PRODUCES   ## UNDEFINED # Install PPI
+  ## CONSUMES   ## UNDEFINED # Locate PPI
   gEfiFirmwareFileSystem2Guid
-  ## PRODUCES   ## UNDEFINED # Install ppi
-  ## CONSUMES   ## UNDEFINED # Locate ppi
-  ## CONSUMES   ## GUID  # Used to compare with FV's file system guid and 
get the FV's file system format
+  ## PRODUCES   ## UNDEFINED # Install PPI
+  ## CONSUMES   ## UNDEFINED # Locate PPI
+  ## CONSUMES   ## GUID  # Used to compare with FV's file system GUID and 
get the FV's file system format
   gEfiFirmwareFileSystem3Guid
 
 [Ppis]
diff --git a/MdeModulePkg/Core/Pei/FwVol/FwVol.h 
b/MdeModulePkg/Core/Pei/FwVol/FwVol.h
index ca80e84e0f..263f0d7a56 100644
--- a/MdeModulePkg/Core/Pei/FwVol/FwVol.h
+++ b/MdeModulePkg/Core/Pei/FwVol/FwVol.h
@@ -1,7 +1,7 @@
 /** @file
   The internal header file for firmware volume related definitions.
 
-Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.
+Copyright (c) 2009 - 2019, Intel Corporation. All rights reserved.
 SPDX-License-Identifier: BSD-2-Clause-Patent
 
 **/
@@ -303,12 +303,12 @@ FindFileEx (
   );
 
 /**
-  Report the information for a new discoveried FV in unknown format.
+  Report the information for a new discovered FV in unknown format.
 
-  If the EFI_PEI_FIRMWARE_VOLUME_PPI has not been installed for specifical FV 
format, but
-  the FV in this FV format has been discoveried, then the information of this 
FV
+  If the EFI_PEI_FIRMWARE_VOLUME_PPI has not been installed for specific FV 
format, but
+  the FV in this FV format has been discovered, then the information of this FV
   will be cached into PEI_CORE_INSTANCE's UnknownFvInfo array.
-  Also a notification would be installed for unknown FV format guid, if 
EFI_PEI_FIRMWARE_VOLUME_PPI
+  Also a notification would be installed for unknown FV format GUID, if 
EFI_PEI_FIRMWARE_VOLUME_PPI
   is installed later by platform's PEIM, the original unknown FV will be 
processed by
   using new installed EFI_PEI_FIRMWARE_VOLUME_PPI.
 
@@ -325,14 +325,14 @@ AddUnknownFormatFvInfo (
   );
 
 /**
-  Find the FV information according to FV format guid.
+  Find the FV information according to FV format GUID.
 
-  This routine also will remove the FV information found by given FV format 
guid from
+  This routine also will remove the FV information found by given FV format 
GUID from
   PrivateData->UnknownFvInfo[].
 
   @param PrivateData  Point to instance of PEI_CORE_INSTANCE
-  @param Format   Point to given FV format guid
-  @param FvInfo   On return, the pointer of FV information buffer in 
given FV format guid
+  @param Format   Point to given FV format GUID
+  @param FvInfo   On return, the pointer of FV information buffer in 
given FV format GUID
   @param FvInfoSize   On return, the size of FV information buffer.
   @param AuthenticationStatus On return, the authentication status of FV 
information buffer.
 
@@ -352,7 +352,7 @@ FindUnknownFormatFvInfo (
   Notification callback function for EFI_PEI_FIRMWARE_VOLUME_PPI.
 
   When a EFI_PEI_FIRMWARE_VOLUME_PPI is installed to support new FV format, 
this
-  routine is called to process all discoveried FVs in this format.
+  routine is called to process all discovered FVs in this format.
 
   @param PeiServices   An indirect pointer to the EFI_PEI_SERVICES table 
published by the PEI Foundation
   @param NotifyDescriptor  Address of the notification descriptor data 
structure.
diff --git a/MdeModulePkg/Core/Pei/PeiMain.h b/MdeModulePkg/Core/Pei/PeiMain.h
index f2aa97c664..3f61247a0f 100644
--- a/MdeModulePkg/Core/Pei/PeiMain.h
+++ b/MdeModulePkg/Core/Pei/PeiMain.h
@@ -47,7 +47,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 
 ///
 /// It 

[edk2-devel] [PATCH V2 0/2] MdeModulePkg PeiCore: Fix grammatical errors

2019-11-27 Thread Kubacki, Michael A
V2 Changes:
 * "The index of the FV to search." to "Index of the FV to search"
   in the "Instance" parameter of ProcessFvFile ()
 * Removed "in this FV format" in the function description of
   AddUnknownFormatFvInfo ()
 * Explicitly stated the implied subject noun in the commit message
   of patch 2/2

This patch series fixes grammatical errors in the PeiCore module.

Originally, this was sent as a single patch which received two
Reviewed-by responses:
https://edk2.groups.io/g/devel/message/50841

However, a suggestion was made to split the patch into syntactical
and semantical changes. That suggestion is implemented in this
series.

The Reviewed-by responses were not carried forward so the maintainers
can evaluate this series as a whole. The previous patch has been
dropped.

Cc: Dandan Bi 
Cc: Liming Gao 
Cc: Jian J Wang 
Cc: Hao A Wu 
Signed-off-by: Michael Kubacki 

Michael Kubacki (2):
  MdeModulePkg PeiCore: Fix typos
  MdeModulePkg PeiCore: Improve comment semantics

 MdeModulePkg/Core/Pei/PeiMain.inf | 10 +--
 MdeModulePkg/Core/Pei/FwVol/FwVol.h   | 23 +++
 MdeModulePkg/Core/Pei/PeiMain.h   | 49 +++
 MdeModulePkg/Core/Pei/Dependency/Dependency.c | 12 ++--
 MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c | 52 
 MdeModulePkg/Core/Pei/FwVol/FwVol.c   | 64 ++--
 MdeModulePkg/Core/Pei/Hob/Hob.c   |  4 +-
 MdeModulePkg/Core/Pei/Image/Image.c   | 10 +--
 MdeModulePkg/Core/Pei/Memory/MemoryServices.c | 18 +++---
 MdeModulePkg/Core/Pei/PeiMain/PeiMain.c   |  2 +-
 MdeModulePkg/Core/Pei/Ppi/Ppi.c   |  4 +-
 MdeModulePkg/Core/Pei/Security/Security.c | 12 ++--
 12 files changed, 132 insertions(+), 128 deletions(-)

-- 
2.16.2.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#51373): https://edk2.groups.io/g/devel/message/51373
Mute This Topic: https://groups.io/mt/62875486/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel] [edk2-platforms][PATCH V1 1/2] KabylakeSiliconPkg: Remove ResetSystemLib.h override

2019-11-27 Thread Kubacki, Michael A
This dependency existed prior to this change (and still does exist). It was 
obfuscated in such a way that contributed to this problem.

See the previous library header path:
  
\Silicon\Intel\KabylakeSiliconPkg\SampleCode\MdeModulePkg\Include\Library\ResetSystemLib.h

The fact KabylakeSiliconPkg implements a MdeModulePkg library API introduces 
the dependency on MdeModulePkg. Hiding a redundant definition of the API 
locally does not eliminate the dependency in any meaningful way.

I think the practice of "freezing" an API with a local copy only works if the 
codebase is locked onto a specific stable tag in which the upstream API is not 
expected to change. Zhichao rightfully added the new function definition to the 
KabylakeSiliconPkg library class implementation because a board package 
consumer would expect a ResetSystemLib library class instance to be compliant 
with the API defined in MdeModulePkg and link the ResetSystem () function. The 
only problem was a set of circumstances that led to the duplicate symbol 
definition for ResetSystem () with PchResetLib.

So I view the task of eliminating the package dependency as a larger separate 
effort outside the scope of this change. But I do not agree with maintaining 
redundant local copies of edk2 APIs in packages in edk2-platforms.

Thanks,
Michael

> -Original Message-
> From: Chaganty, Rangasai V 
> Sent: Tuesday, November 26, 2019 10:43 PM
> To: Kubacki, Michael A ;
> devel@edk2.groups.io
> Cc: Chiu, Chasel ; Desimone, Nathaniel L
> ; Gao, Zhichao 
> Subject: RE: [edk2-platforms][PATCH V1 1/2] KabylakeSiliconPkg: Remove
> ResetSystemLib.h override
> 
> This change is introducing SiliconPkg's dependency on MdeModulePkg.
> SiliconPkg dependencies should be limited to a selected few packages and
> this seems to be an unnecessary addition to the dependency list.
> The reset interfaces are providing generic reset services and perhaps better
> suited in packages like MdePkg.
> 
> -Original Message-
> From: Kubacki, Michael A
> Sent: Tuesday, November 26, 2019 6:57 PM
> To: devel@edk2.groups.io
> Cc: Chaganty, Rangasai V ; Chiu, Chasel
> ; Desimone, Nathaniel L
> ; Gao, Zhichao 
> Subject: [edk2-platforms][PATCH V1 1/2] KabylakeSiliconPkg: Remove
> ResetSystemLib.h override
> 
> REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2375
> 
> Removes a stale ResetSystemLib.h override in KabylakeSiliconPkg that does
> not contain the prototype for ResetSystem () and ResetPlatformSpecific ().
> 
> The ResetSystemLib.h file from MdeModulePkg will be used. Any INF files
> that did not include the MdeModulePkg.dec under [Packages] were updated
> to do so.
> 
> Cc: Sai Chaganty 
> Cc: Chasel Chiu 
> Cc: Nate DeSimone 
> Cc: Zhichao Gao 
> Signed-off-by: Michael Kubacki 
> ---
> 
> Silicon/Intel/KabylakeSiliconPkg/Pch/Library/DxeResetSystemLib/DxeResetS
> ystemLib.inf   |  3 +-
> 
> Silicon/Intel/KabylakeSiliconPkg/Pch/Library/DxeRuntimeResetSystemLib/Dx
> eRuntimeResetSystemLib.inf |  3 +-
> 
> Silicon/Intel/KabylakeSiliconPkg/Pch/Library/PeiPchResetLib/PeiPchResetLib.
> inf |  3 +-
> 
> Silicon/Intel/KabylakeSiliconPkg/Pch/Library/PeiResetSystemLib/PeiResetSys
> temLib.inf   |  3 +-
> 
> Silicon/Intel/KabylakeSiliconPkg/SampleCode/MdeModulePkg/Include/Libra
> ry/ResetSystemLib.h  | 62 
>  5 files changed, 8 insertions(+), 66 deletions(-)
> 
> diff --git
> a/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/DxeResetSystemLib/DxeRese
> tSystemLib.inf
> b/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/DxeResetSystemLib/DxeRese
> tSystemLib.inf
> index aa8877140a..46313bf35f 100644
> ---
> a/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/DxeResetSystemLib/DxeRese
> tSystemLib.inf
> +++ b/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/DxeResetSystemLib/Dxe
> +++ ResetSystemLib.inf
> @@ -1,7 +1,7 @@
>  ## @file
>  # Component description file for Intel Ich7 Reset System Library.
>  #
> -# Copyright (c) 2017, Intel Corporation. All rights reserved.
> +# Copyright (c) 2017 - 2019, Intel Corporation. All rights
> +reserved.
>  #
>  # SPDX-License-Identifier: BSD-2-Clause-Patent  # @@ -35,6 +35,7 @@
> PchCycleDecodingLib
> 
>  [Packages]
>  MdePkg/MdePkg.dec
> +MdeModulePkg/MdeModulePkg.dec
>  KabylakeSiliconPkg/SiPkg.dec
> 
> 
> diff --git
> a/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/DxeRuntimeResetSystemLib/
> DxeRuntimeResetSystemLib.inf
> b/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/DxeRuntimeResetSystemLib/
> DxeRuntimeResetSystemLib.inf
> index 6b27661603..c7fad31c71 100644
> ---
> a/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/DxeRuntimeResetSystemLib/
> DxeRuntimeResetSystemLib.inf
> +++
>

[edk2-devel] [PATCH V1 0/2] MdeModulePkg PeiCore: Fix grammatical errors

2019-11-26 Thread Kubacki, Michael A
This patch series fixes grammatical errors in the PeiCore module.

Originally, this was sent as a single patch which received two
Reviewed-by responses:
https://edk2.groups.io/g/devel/message/50841

However, a suggestion was made to split the patch into syntactical
and semantical changes. That suggestion is implemented in this
series.

The Reviewed-by responses were not carried forward so the maintainers
can evaluate this series as a whole. The previous patch has been
dropped.

Cc: Dandan Bi 
Cc: Liming Gao 
Cc: Jian J Wang 
Cc: Hao A Wu 
Signed-off-by: Michael Kubacki 

Michael Kubacki (2):
  MdeModulePkg PeiCore: Fix typos
  MdeModulePkg PeiCore: Improve comment semantics

 MdeModulePkg/Core/Pei/PeiMain.inf | 10 ++--
 MdeModulePkg/Core/Pei/FwVol/FwVol.h   | 20 +++
 MdeModulePkg/Core/Pei/PeiMain.h   | 49 +++
 MdeModulePkg/Core/Pei/Dependency/Dependency.c | 12 ++--
 MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c | 52 
 MdeModulePkg/Core/Pei/FwVol/FwVol.c   | 63 ++--
 MdeModulePkg/Core/Pei/Hob/Hob.c   |  4 +-
 MdeModulePkg/Core/Pei/Image/Image.c   | 10 ++--
 MdeModulePkg/Core/Pei/Memory/MemoryServices.c | 18 +++---
 MdeModulePkg/Core/Pei/PeiMain/PeiMain.c   |  2 +-
 MdeModulePkg/Core/Pei/Ppi/Ppi.c   |  4 +-
 MdeModulePkg/Core/Pei/Security/Security.c | 12 ++--
 12 files changed, 129 insertions(+), 127 deletions(-)

-- 
2.16.2.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#51324): https://edk2.groups.io/g/devel/message/51324
Mute This Topic: https://groups.io/mt/62227956/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [PATCH V1 2/2] MdeModulePkg PeiCore: Improve comment semantics

2019-11-26 Thread Kubacki, Michael A
Clarifies wording in several PeiCore comments to improve
reading comprehension.

Cc: Dandan Bi 
Cc: Liming Gao 
Cc: Jian J Wang 
Cc: Hao A Wu 
Signed-off-by: Michael Kubacki 
---
 MdeModulePkg/Core/Pei/FwVol/FwVol.h   |  4 ++--
 MdeModulePkg/Core/Pei/PeiMain.h   | 11 +-
 MdeModulePkg/Core/Pei/Dependency/Dependency.c |  4 ++--
 MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c |  4 ++--
 MdeModulePkg/Core/Pei/FwVol/FwVol.c   | 23 ++--
 MdeModulePkg/Core/Pei/Memory/MemoryServices.c |  4 ++--
 6 files changed, 26 insertions(+), 24 deletions(-)

diff --git a/MdeModulePkg/Core/Pei/FwVol/FwVol.h 
b/MdeModulePkg/Core/Pei/FwVol/FwVol.h
index 263f0d7a56..8aaf84870b 100644
--- a/MdeModulePkg/Core/Pei/FwVol/FwVol.h
+++ b/MdeModulePkg/Core/Pei/FwVol/FwVol.h
@@ -303,9 +303,9 @@ FindFileEx (
   );
 
 /**
-  Report the information for a new discovered FV in unknown format.
+  Report the information for a newly discovered FV in an unknown format.
 
-  If the EFI_PEI_FIRMWARE_VOLUME_PPI has not been installed for specific FV 
format, but
+  If the EFI_PEI_FIRMWARE_VOLUME_PPI has not been installed for a third-party 
FV format, but
   the FV in this FV format has been discovered, then the information of this FV
   will be cached into PEI_CORE_INSTANCE's UnknownFvInfo array.
   Also a notification would be installed for unknown FV format GUID, if 
EFI_PEI_FIRMWARE_VOLUME_PPI
diff --git a/MdeModulePkg/Core/Pei/PeiMain.h b/MdeModulePkg/Core/Pei/PeiMain.h
index 3f61247a0f..96d6df0485 100644
--- a/MdeModulePkg/Core/Pei/PeiMain.h
+++ b/MdeModulePkg/Core/Pei/PeiMain.h
@@ -1217,8 +1217,8 @@ PeiFfsGetVolumeInfo (
   );
 
 /**
-  This routine enable a PEIM to register itself to shadow when PEI Foundation
-  discovery permanent memory.
+  This routine enables a PEIM to register itself for shadow when the PEI 
Foundation
+  discovers permanent memory.
 
   @param FileHandle File handle of a PEIM.
 
@@ -1314,12 +1314,13 @@ ProcessFvFile (
   );
 
 /**
-  Get instance of PEI_CORE_FV_HANDLE for next volume according to given index.
+  Gets a PEI_CORE_FV_HANDLE instance for the next volume according to the 
given index.
 
-  This routine also will install FvInfo PPI for FV HOB in PI ways.
+  This routine also will install an instance of the FvInfo PPI for the FV HOB
+  as defined in the PI specification.
 
   @param PrivatePointer of PEI_CORE_INSTANCE
-  @param Instance   The index of FV want to be searched.
+  @param Instance   The index of the FV to search.
 
   @return Instance of PEI_CORE_FV_HANDLE.
 **/
diff --git a/MdeModulePkg/Core/Pei/Dependency/Dependency.c 
b/MdeModulePkg/Core/Pei/Dependency/Dependency.c
index 9a8353aef2..b53e5f2686 100644
--- a/MdeModulePkg/Core/Pei/Dependency/Dependency.c
+++ b/MdeModulePkg/Core/Pei/Dependency/Dependency.c
@@ -2,8 +2,8 @@
   PEI Dispatcher Dependency Evaluator
 
   This routine evaluates a dependency expression (DEPENDENCY_EXPRESSION) to 
determine
-  if a driver can be scheduled for execution.  The criteria for
-  schedulability is that the dependency expression is satisfied.
+  if a driver can be scheduled for execution.  The criteria to be scheduled is
+  that the dependency expression is satisfied.
 
 Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.
 SPDX-License-Identifier: BSD-2-Clause-Patent
diff --git a/MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c 
b/MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c
index c9f2a91264..a18ac47f61 100644
--- a/MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c
+++ b/MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c
@@ -1347,8 +1347,8 @@ DepexSatisfied (
 }
 
 /**
-  This routine enable a PEIM to register itself to shadow when PEI Foundation
-  discovery permanent memory.
+  This routine enables a PEIM to register itself for shadow when the PEI 
Foundation
+  discovers permanent memory.
 
   @param FileHandle File handle of a PEIM.
 
diff --git a/MdeModulePkg/Core/Pei/FwVol/FwVol.c 
b/MdeModulePkg/Core/Pei/FwVol/FwVol.c
index c21eb9c039..a9fa476846 100644
--- a/MdeModulePkg/Core/Pei/FwVol/FwVol.c
+++ b/MdeModulePkg/Core/Pei/FwVol/FwVol.c
@@ -593,7 +593,7 @@ FirmwareVolumeInfoPpiNotifyCallback (
   }
 
   //
-  // Locate the corresponding FV_PPI according to founded FV's format GUID
+  // Locate the corresponding FV_PPI according to the format GUID of the FV 
found
   //
   Status = PeiServicesLocatePpi (
  ,
@@ -1533,7 +1533,7 @@ ProcessFvFile (
   );
 
 //
-// Inform the extracted FvImage to FV HOB consumer phase, i.e. DXE phase
+// Expose the extracted FvImage to the FV HOB consumer phase, i.e. DXE 
phase
 //
 BuildFvHob (
   (EFI_PHYSICAL_ADDRESS) (UINTN) FvHeader,
@@ -2087,12 +2087,13 @@ FvHandleToCoreHandle (
 }
 
 /**
-  Get instance of PEI_CORE_FV_HANDLE for next volume according to given index.
+  Gets a PEI_CORE_FV_HANDLE instance for the next volume according to the 
given index.
 
-  This routine also will install FvInfo PPI 

[edk2-devel] [PATCH V1 1/2] MdeModulePkg PeiCore: Fix typos

2019-11-26 Thread Kubacki, Michael A
Cc: Dandan Bi 
Cc: Liming Gao 
Cc: Jian J Wang 
Cc: Hao A Wu 
Signed-off-by: Michael Kubacki 
---
 MdeModulePkg/Core/Pei/PeiMain.inf | 10 ++--
 MdeModulePkg/Core/Pei/FwVol/FwVol.h   | 20 
 MdeModulePkg/Core/Pei/PeiMain.h   | 40 
 MdeModulePkg/Core/Pei/Dependency/Dependency.c |  8 ++--
 MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c | 48 +--
 MdeModulePkg/Core/Pei/FwVol/FwVol.c   | 50 ++--
 MdeModulePkg/Core/Pei/Hob/Hob.c   |  4 +-
 MdeModulePkg/Core/Pei/Image/Image.c   | 10 ++--
 MdeModulePkg/Core/Pei/Memory/MemoryServices.c | 16 +++
 MdeModulePkg/Core/Pei/PeiMain/PeiMain.c   |  2 +-
 MdeModulePkg/Core/Pei/Ppi/Ppi.c   |  4 +-
 MdeModulePkg/Core/Pei/Security/Security.c | 12 ++---
 12 files changed, 112 insertions(+), 112 deletions(-)

diff --git a/MdeModulePkg/Core/Pei/PeiMain.inf 
b/MdeModulePkg/Core/Pei/PeiMain.inf
index 7c482dacfc..6e25cc4023 100644
--- a/MdeModulePkg/Core/Pei/PeiMain.inf
+++ b/MdeModulePkg/Core/Pei/PeiMain.inf
@@ -69,12 +69,12 @@
 
 [Guids]
   gPeiAprioriFileNameGuid   ## SOMETIMES_CONSUMES   ## File
-  ## PRODUCES   ## UNDEFINED # Install ppi
-  ## CONSUMES   ## UNDEFINED # Locate ppi
+  ## PRODUCES   ## UNDEFINED # Install PPI
+  ## CONSUMES   ## UNDEFINED # Locate PPI
   gEfiFirmwareFileSystem2Guid
-  ## PRODUCES   ## UNDEFINED # Install ppi
-  ## CONSUMES   ## UNDEFINED # Locate ppi
-  ## CONSUMES   ## GUID  # Used to compare with FV's file system guid and 
get the FV's file system format
+  ## PRODUCES   ## UNDEFINED # Install PPI
+  ## CONSUMES   ## UNDEFINED # Locate PPI
+  ## CONSUMES   ## GUID  # Used to compare with FV's file system GUID and 
get the FV's file system format
   gEfiFirmwareFileSystem3Guid
 
 [Ppis]
diff --git a/MdeModulePkg/Core/Pei/FwVol/FwVol.h 
b/MdeModulePkg/Core/Pei/FwVol/FwVol.h
index ca80e84e0f..263f0d7a56 100644
--- a/MdeModulePkg/Core/Pei/FwVol/FwVol.h
+++ b/MdeModulePkg/Core/Pei/FwVol/FwVol.h
@@ -1,7 +1,7 @@
 /** @file
   The internal header file for firmware volume related definitions.
 
-Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.
+Copyright (c) 2009 - 2019, Intel Corporation. All rights reserved.
 SPDX-License-Identifier: BSD-2-Clause-Patent
 
 **/
@@ -303,12 +303,12 @@ FindFileEx (
   );
 
 /**
-  Report the information for a new discoveried FV in unknown format.
+  Report the information for a new discovered FV in unknown format.
 
-  If the EFI_PEI_FIRMWARE_VOLUME_PPI has not been installed for specifical FV 
format, but
-  the FV in this FV format has been discoveried, then the information of this 
FV
+  If the EFI_PEI_FIRMWARE_VOLUME_PPI has not been installed for specific FV 
format, but
+  the FV in this FV format has been discovered, then the information of this FV
   will be cached into PEI_CORE_INSTANCE's UnknownFvInfo array.
-  Also a notification would be installed for unknown FV format guid, if 
EFI_PEI_FIRMWARE_VOLUME_PPI
+  Also a notification would be installed for unknown FV format GUID, if 
EFI_PEI_FIRMWARE_VOLUME_PPI
   is installed later by platform's PEIM, the original unknown FV will be 
processed by
   using new installed EFI_PEI_FIRMWARE_VOLUME_PPI.
 
@@ -325,14 +325,14 @@ AddUnknownFormatFvInfo (
   );
 
 /**
-  Find the FV information according to FV format guid.
+  Find the FV information according to FV format GUID.
 
-  This routine also will remove the FV information found by given FV format 
guid from
+  This routine also will remove the FV information found by given FV format 
GUID from
   PrivateData->UnknownFvInfo[].
 
   @param PrivateData  Point to instance of PEI_CORE_INSTANCE
-  @param Format   Point to given FV format guid
-  @param FvInfo   On return, the pointer of FV information buffer in 
given FV format guid
+  @param Format   Point to given FV format GUID
+  @param FvInfo   On return, the pointer of FV information buffer in 
given FV format GUID
   @param FvInfoSize   On return, the size of FV information buffer.
   @param AuthenticationStatus On return, the authentication status of FV 
information buffer.
 
@@ -352,7 +352,7 @@ FindUnknownFormatFvInfo (
   Notification callback function for EFI_PEI_FIRMWARE_VOLUME_PPI.
 
   When a EFI_PEI_FIRMWARE_VOLUME_PPI is installed to support new FV format, 
this
-  routine is called to process all discoveried FVs in this format.
+  routine is called to process all discovered FVs in this format.
 
   @param PeiServices   An indirect pointer to the EFI_PEI_SERVICES table 
published by the PEI Foundation
   @param NotifyDescriptor  Address of the notification descriptor data 
structure.
diff --git a/MdeModulePkg/Core/Pei/PeiMain.h b/MdeModulePkg/Core/Pei/PeiMain.h
index f2aa97c664..3f61247a0f 100644
--- a/MdeModulePkg/Core/Pei/PeiMain.h
+++ b/MdeModulePkg/Core/Pei/PeiMain.h
@@ -47,7 +47,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 
 ///
 /// It 

[edk2-devel] [edk2-platforms][PATCH V1 2/2] KabylakeSiliconPkg: Remove redundant ResetSystem() implementation

2019-11-26 Thread Kubacki, Michael A
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2375

The following commits introduced a new implementation of
ResetSystem () in ResetLib instances in KabylakeSiliconPkg:
 * 2393cff0d4
 * 07fd95c9ca
 * 0ad2f057d8
 * a6e61d43c9

The PchResetLib instance PeiPchResetLib links against ResetLib and
already contained a definition of ResetSystem (). This resulted in
a build failure in VS2017 due to multiple definitions of a symbol
being provided to the linker. The failure did not reproduce in
VS2015 so it persisted until now.

This change removes the pre-existing implementation of
ResetSystem () in PchReset.c as it is now linked by the
implementation in the ResetLib instance.

Cc: Sai Chaganty 
Cc: Chasel Chiu 
Cc: Nate DeSimone 
Cc: Zhichao Gao 
Signed-off-by: Michael Kubacki 
---
 Silicon/Intel/KabylakeSiliconPkg/Pch/Library/PeiPchResetLib/PchReset.c 
| 55 
 
Silicon/Intel/KabylakeSiliconPkg/Pch/Library/PeiResetSystemLib/PeiResetSystemLib.c
 |  5 ++
 2 files changed, 5 insertions(+), 55 deletions(-)

diff --git 
a/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/PeiPchResetLib/PchReset.c 
b/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/PeiPchResetLib/PchReset.c
index 20e5d36892..c3963164c1 100644
--- a/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/PeiPchResetLib/PchReset.c
+++ b/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/PeiPchResetLib/PchReset.c
@@ -18,61 +18,6 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 #include 
 #include 
 
-VOID
-EFIAPI
-ResetPlatformSpecific (
-  IN UINTNDataSize,
-  IN VOID *ResetData OPTIONAL
-  );
-
-
-/**
-  Resets the entire platform.
-
-  @param[in] ResetTypeUEFI defined reset type.
-  @param[in] ResetStatus  The status code for the reset.
-  @param[in] DataSize The size of ResetData in bytes.
-  @param[in] ResetDataOptional element used to introduce a 
platform specific reset.
-  The exact type of the reset is defined by 
the EFI_GUID that follows
-  the Null-terminated Unicode string.
-
-**/
-VOID
-EFIAPI
-ResetSystem (
-  IN EFI_RESET_TYPE ResetType,
-  IN EFI_STATUS ResetStatus,
-  IN UINTN  DataSize,
-  IN VOID   *ResetData OPTIONAL
-  )
-{
-  switch (ResetType) {
-  case EfiResetWarm:
-ResetWarm ();
-break;
-
-  case EfiResetCold:
-ResetCold ();
-break;
-
-  case EfiResetShutdown:
-ResetShutdown ();
-return;
-
-  case EfiResetPlatformSpecific:
-ResetPlatformSpecific (DataSize, ResetData);
-return;
-
-  default:
-return;
-  }
-
-  //
-  // Given we should have reset getting here would be bad
-  //
-  ASSERT (FALSE);
-}
-
 /**
   Execute Pch Reset from the host controller.
 
diff --git 
a/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/PeiResetSystemLib/PeiResetSystemLib.c
 
b/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/PeiResetSystemLib/PeiResetSystemLib.c
index 6f12abf111..a3db100619 100644
--- 
a/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/PeiResetSystemLib/PeiResetSystemLib.c
+++ 
b/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/PeiResetSystemLib/PeiResetSystemLib.c
@@ -317,5 +317,10 @@ ResetSystem (
   default:
 return;
   }
+
+  //
+  // Given we should have reset getting here would be bad
+  //
+  ASSERT (FALSE);
 }
 
-- 
2.16.2.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#51321): https://edk2.groups.io/g/devel/message/51321
Mute This Topic: https://groups.io/mt/62194129/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms][PATCH V1 1/2] KabylakeSiliconPkg: Remove ResetSystemLib.h override

2019-11-26 Thread Kubacki, Michael A
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2375

Removes a stale ResetSystemLib.h override in KabylakeSiliconPkg
that does not contain the prototype for ResetSystem () and
ResetPlatformSpecific ().

The ResetSystemLib.h file from MdeModulePkg will be used. Any INF
files that did not include the MdeModulePkg.dec under [Packages]
were updated to do so.

Cc: Sai Chaganty 
Cc: Chasel Chiu 
Cc: Nate DeSimone 
Cc: Zhichao Gao 
Signed-off-by: Michael Kubacki 
---
 
Silicon/Intel/KabylakeSiliconPkg/Pch/Library/DxeResetSystemLib/DxeResetSystemLib.inf
   |  3 +-
 
Silicon/Intel/KabylakeSiliconPkg/Pch/Library/DxeRuntimeResetSystemLib/DxeRuntimeResetSystemLib.inf
 |  3 +-
 Silicon/Intel/KabylakeSiliconPkg/Pch/Library/PeiPchResetLib/PeiPchResetLib.inf 
|  3 +-
 
Silicon/Intel/KabylakeSiliconPkg/Pch/Library/PeiResetSystemLib/PeiResetSystemLib.inf
   |  3 +-
 
Silicon/Intel/KabylakeSiliconPkg/SampleCode/MdeModulePkg/Include/Library/ResetSystemLib.h
  | 62 
 5 files changed, 8 insertions(+), 66 deletions(-)

diff --git 
a/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/DxeResetSystemLib/DxeResetSystemLib.inf
 
b/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/DxeResetSystemLib/DxeResetSystemLib.inf
index aa8877140a..46313bf35f 100644
--- 
a/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/DxeResetSystemLib/DxeResetSystemLib.inf
+++ 
b/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/DxeResetSystemLib/DxeResetSystemLib.inf
@@ -1,7 +1,7 @@
 ## @file
 # Component description file for Intel Ich7 Reset System Library.
 #
-# Copyright (c) 2017, Intel Corporation. All rights reserved.
+# Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.
 #
 # SPDX-License-Identifier: BSD-2-Clause-Patent
 #
@@ -35,6 +35,7 @@ PchCycleDecodingLib
 
 [Packages]
 MdePkg/MdePkg.dec
+MdeModulePkg/MdeModulePkg.dec
 KabylakeSiliconPkg/SiPkg.dec
 
 
diff --git 
a/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/DxeRuntimeResetSystemLib/DxeRuntimeResetSystemLib.inf
 
b/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/DxeRuntimeResetSystemLib/DxeRuntimeResetSystemLib.inf
index 6b27661603..c7fad31c71 100644
--- 
a/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/DxeRuntimeResetSystemLib/DxeRuntimeResetSystemLib.inf
+++ 
b/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/DxeRuntimeResetSystemLib/DxeRuntimeResetSystemLib.inf
@@ -1,7 +1,7 @@
 ## @file
 # Component description file for Intel Ich7 Reset System Library.
 #
-# Copyright (c) 2017, Intel Corporation. All rights reserved.
+# Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.
 #
 # SPDX-License-Identifier: BSD-2-Clause-Patent
 #
@@ -36,6 +36,7 @@ PchCycleDecodingLib
 
 [Packages]
 MdePkg/MdePkg.dec
+MdeModulePkg/MdeModulePkg.dec
 KabylakeSiliconPkg/SiPkg.dec
 
 
diff --git 
a/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/PeiPchResetLib/PeiPchResetLib.inf
 
b/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/PeiPchResetLib/PeiPchResetLib.inf
index b04f4006ef..29f69078a4 100644
--- 
a/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/PeiPchResetLib/PeiPchResetLib.inf
+++ 
b/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/PeiPchResetLib/PeiPchResetLib.inf
@@ -1,7 +1,7 @@
 ## @file
 # Component description file for PCH Reset Lib Pei Phase
 #
-# Copyright (c) 2017, Intel Corporation. All rights reserved.
+# Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.
 #
 # SPDX-License-Identifier: BSD-2-Clause-Patent
 #
@@ -28,6 +28,7 @@ ResetSystemLib
 
 [Packages]
 MdePkg/MdePkg.dec
+MdeModulePkg/MdeModulePkg.dec
 KabylakeSiliconPkg/SiPkg.dec
 
 [Sources]
diff --git 
a/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/PeiResetSystemLib/PeiResetSystemLib.inf
 
b/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/PeiResetSystemLib/PeiResetSystemLib.inf
index 18a92a6f18..3c6ff78863 100644
--- 
a/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/PeiResetSystemLib/PeiResetSystemLib.inf
+++ 
b/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/PeiResetSystemLib/PeiResetSystemLib.inf
@@ -1,7 +1,7 @@
 ## @file
 # Component description file for Intel Ich7 Reset System Library.
 #
-# Copyright (c) 2017, Intel Corporation. All rights reserved.
+# Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.
 #
 # SPDX-License-Identifier: BSD-2-Clause-Patent
 #
@@ -32,6 +32,7 @@ PchCycleDecodingLib
 
 [Packages]
 MdePkg/MdePkg.dec
+MdeModulePkg/MdeModulePkg.dec
 KabylakeSiliconPkg/SiPkg.dec
 
 
diff --git 
a/Silicon/Intel/KabylakeSiliconPkg/SampleCode/MdeModulePkg/Include/Library/ResetSystemLib.h
 
b/Silicon/Intel/KabylakeSiliconPkg/SampleCode/MdeModulePkg/Include/Library/ResetSystemLib.h
deleted file mode 100644
index 75d3e15ed7..00
--- 
a/Silicon/Intel/KabylakeSiliconPkg/SampleCode/MdeModulePkg/Include/Library/ResetSystemLib.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/** @file
-  System reset Library Services.  This library class defines a set of
-  methods that reset the whole system.
-
-Copyright (c) 2005 - 2010, Intel Corporation. All rights reserved.

[edk2-devel] [edk2-platforms][PATCH V1 0/2] KabylakeSiliconPkg: Remove redundant ResetSystem() implementation

2019-11-26 Thread Kubacki, Michael A
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2375

This patch series:
 1. Removes a ResetSystemLib.h override in KabylakeSiliconPkg
 2. Removes a redundant implementation of ResetSystem ()

The redundant ResetSystem () implementation causes a build failure
in VS2017. The build failure does not reproduce in VS2015. The new
ResetSystem () implementation that led to the issue was introduced
in the following commits:
 * 2393cff0d4
 * 07fd95c9ca
 * 0ad2f057d8
 * a6e61d43c9

Cc: Sai Chaganty 
Cc: Chasel Chiu 
Cc: Nate DeSimone 
Cc: Zhichao Gao 
Signed-off-by: Michael Kubacki 

Michael Kubacki (2):
  KabylakeSiliconPkg: Remove ResetSystemLib.h override
  KabylakeSiliconPkg: Remove redundant ResetSystem() implementation

 
Silicon/Intel/KabylakeSiliconPkg/Pch/Library/DxeResetSystemLib/DxeResetSystemLib.inf
   |  3 +-
 
Silicon/Intel/KabylakeSiliconPkg/Pch/Library/DxeRuntimeResetSystemLib/DxeRuntimeResetSystemLib.inf
 |  3 +-
 Silicon/Intel/KabylakeSiliconPkg/Pch/Library/PeiPchResetLib/PeiPchResetLib.inf 
|  3 +-
 
Silicon/Intel/KabylakeSiliconPkg/Pch/Library/PeiResetSystemLib/PeiResetSystemLib.inf
   |  3 +-
 
Silicon/Intel/KabylakeSiliconPkg/SampleCode/MdeModulePkg/Include/Library/ResetSystemLib.h
  | 62 
 Silicon/Intel/KabylakeSiliconPkg/Pch/Library/PeiPchResetLib/PchReset.c 
| 55 -
 
Silicon/Intel/KabylakeSiliconPkg/Pch/Library/PeiResetSystemLib/PeiResetSystemLib.c
 |  5 ++
 7 files changed, 13 insertions(+), 121 deletions(-)
 delete mode 100644 
Silicon/Intel/KabylakeSiliconPkg/SampleCode/MdeModulePkg/Include/Library/ResetSystemLib.h

-- 
2.16.2.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#51319): https://edk2.groups.io/g/devel/message/51319
Mute This Topic: https://groups.io/mt/62194047/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] Author Garbled in edk2 Log

2019-11-25 Thread Kubacki, Michael A
Hi Liming,

I notice that after you applied my most recent patch locally and sent the Pull 
Request, the author email is garbled in git log:
  Kubacki, Michael A 

Whereas in the original patch it is:
  Michael Kubacki 

Doing a quick grep across the edk2 log, I see quite a few other instances 
leading to inconsistent author history.

Is there a known cause? I'd like to request that maintainers check that the 
author field matches the patch before sending Pull Requests.

Author: Kubacki, Michael A 
Author: Kubacki, Michael A 
Author: Chu, Maggie 
Author: Albecki, Mateusz 
Author: Sun, Zailiang 
Author: Carsey, Jaben 
Author: Kinney, Michael D 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Feng, YunhuaX 
Author: Feng, YunhuaX 
Author: Feng, YunhuaX 
Author: Carsey, Jaben 
Author: Feng, YunhuaX 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Feng, YunhuaX 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Feng, YunhuaX 
Author: Carsey, Jaben 
Author: Carsey, Jaben 
Author: Feng, YunhuaX 
Author: Feng, YunhuaX 
Author: Feng, YunhuaX 
Author: Feng, YunhuaX 
Author: Feng, YunhuaX 
Author: Feng, YunhuaX 
Author: Feng, YunhuaX 
Author: Feng, YunhuaX 
Author: Feng, YunhuaX 
Author: Feng, YunhuaX 
Author: Feng, YunhuaX 
Author: Feng, YunhuaX 
Author: Feng, YunhuaX 
Author: Feng, YunhuaX 
Author: Feng, YunhuaX 
Author: Feng, YunhuaX 
Author: Bi, Dandan 

Thanks,
Michael


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#51262): https://edk2.groups.io/g/devel/message/51262
Mute This Topic: https://groups.io/mt/61955332/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel] [edk2-wiki][patch] Move feature BootGuard TOCTOU vulnerability to next edk2 stable tag

2019-11-25 Thread Kubacki, Michael A
Reviewed-by: Michael Kubacki 

> -Original Message-
> From: devel@edk2.groups.io  On Behalf Of Liming
> Gao
> Sent: Wednesday, November 20, 2019 11:41 PM
> To: devel@edk2.groups.io
> Cc: Kubacki, Michael A 
> Subject: [edk2-devel] [edk2-wiki][patch] Move feature BootGuard TOCTOU
> vulnerability to next edk2 stable tag
> 
> This feature doesn't catch 201911 stable tag.
> Plan to defer this feature to next stable tag.
> 
> Signed-off-by: Liming Gao 
> Cc: Michael Kubacki 
> ---
>  EDK-II-Release-Planning.md | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/EDK-II-Release-Planning.md b/EDK-II-Release-Planning.md index
> 704e956..dabda3c 100644
> --- a/EDK-II-Release-Planning.md
> +++ b/EDK-II-Release-Planning.md
> @@ -22,7 +22,6 @@
>  * [Allow PCDs to be used in conditional statements if not referenced in an
> INF](https://bugzilla.tianocore.org/show_bug.cgi?id=2270)
>  * [Add Support Laml and Lasa for TPM2
> ACPI](https://bugzilla.tianocore.org/show_bug.cgi?id=978)
>  * [Add PCI Device Security
> Support](https://bugzilla.tianocore.org/show_bug.cgi?id=2303)
> -* [BootGuard TOCTOU vulnerability (CVE-2019-
> 11098)](https://bugzilla.tianocore.org/show_bug.cgi?id=1614)
>  * [Invalid server certificate accepted in HTTPS Boot (CVE-2019-
> 14553)](https://bugzilla.tianocore.org/show_bug.cgi?id=960)
>  * [MdeModulePkg: Enable/Disable S3BootScript
> dynamically](https://bugzilla.tianocore.org/show_bug.cgi?id=2212)
>  * [Enable Phase 1 of Continuous Integration (CI) on the edk2
> repository](https://bugzilla.tianocore.org/show_bug.cgi?id=2315)
> --
> 2.13.0.windows.1
> 
> 
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#51260): https://edk2.groups.io/g/devel/message/51260
Mute This Topic: https://groups.io/mt/61064696/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms][PATCH V1 1/1] Maintainers.txt: Update maintainers for Simics packages

2019-11-25 Thread Kubacki, Michael A
David Y Wei is no longer available as a maintainer. David is removed
as a maintainer for the following packages:
 * Platform/Intel/SimicsOpenBoardPkg
 * Silicon/Intel/SimicsIch10Pkg
 * Silicon/Intel/SimicsX58SktPkg

Cc: Nate DeSimone 
Cc: Agyeman Prince 
Signed-off-by: Michael Kubacki 
---
 Maintainers.txt | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/Maintainers.txt b/Maintainers.txt
index cb7ae0a95d..98373acc85 100644
--- a/Maintainers.txt
+++ b/Maintainers.txt
@@ -180,7 +180,6 @@ M: Nate DeSimone 
 
 Platform/Intel/SimicsOpenBoardPkg
 F: Platform/Intel/SimicsOpenBoardPkg/
-M: Wei David Y 
 M: Agyeman Prince 
 
 Platform/Intel/Tools
@@ -217,12 +216,10 @@ M: Sai Chaganty 
 
 Silicon/Intel/SimicsX58SktPkg
 F: Silicon/Intel/SimicsX58SktPkg/
-M: Wei David Y 
 M: Agyeman Prince 
 
 Silicon/Intel/SimicsIch10Pkg
 F: Silicon/Intel/SimicsIch10Pkg/
-M: Wei David Y 
 M: Agyeman Prince 
 
 Silicon/Intel/Tools
-- 
2.16.2.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#51255): https://edk2.groups.io/g/devel/message/51255
Mute This Topic: https://groups.io/mt/61951351/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel] [edk2-platforms] [PATCH V2 13/14] KabylakeOpenBoardPkg: Remove SecFspWrapperPlatformSecLib override

2019-11-21 Thread Kubacki, Michael A
Reviewed-by: Michael Kubacki 

> -Original Message-
> From: Desimone, Nathaniel L 
> Sent: Thursday, November 21, 2019 12:59 AM
> To: devel@edk2.groups.io
> Cc: Chiu, Chasel ; Kubacki, Michael A
> ; Jeremy Soller 
> Subject: [edk2-platforms] [PATCH V2 13/14] KabylakeOpenBoardPkg:
> Remove SecFspWrapperPlatformSecLib override
> 
> Cc: Chasel Chiu 
> Cc: Michael Kubacki 
> Cc: Jeremy Soller 
> Signed-off-by: Nate DeSimone 
> ---
>  .../FspWrapperPlatformSecLib.c| 186 -
>  .../SecFspWrapperPlatformSecLib/FsptCoreUpd.h |  40 --
>  .../SecFspWrapperPlatformSecLib/Ia32/Fsp.h|  42 --
>  .../Ia32/PeiCoreEntry.nasm| 130 ---
>  .../Ia32/SecEntry.nasm| 361 --
>  .../Ia32/Stack.nasm   |  72 
>  .../PlatformInit.c|  47 ---
>  .../SecFspWrapperPlatformSecLib.inf   |  97 -
>  .../SecGetPerformance.c   |  89 -
>  .../SecPlatformInformation.c  |  78 
>  .../SecRamInitData.c  |  36 --
>  .../SecTempRamDone.c  |  73 
>  .../GalagoPro3/OpenBoardPkg.dsc   |   2 +-
>  .../KabylakeRvp3/OpenBoardPkg.dsc |   2 +-
>  14 files changed, 2 insertions(+), 1253 deletions(-)  delete mode 100644
> Platform/Intel/KabylakeOpenBoardPkg/FspWrapper/Library/SecFspWrapper
> PlatformSecLib/FspWrapperPlatformSecLib.c
>  delete mode 100644
> Platform/Intel/KabylakeOpenBoardPkg/FspWrapper/Library/SecFspWrapper
> PlatformSecLib/FsptCoreUpd.h
>  delete mode 100644
> Platform/Intel/KabylakeOpenBoardPkg/FspWrapper/Library/SecFspWrapper
> PlatformSecLib/Ia32/Fsp.h
>  delete mode 100644
> Platform/Intel/KabylakeOpenBoardPkg/FspWrapper/Library/SecFspWrapper
> PlatformSecLib/Ia32/PeiCoreEntry.nasm
>  delete mode 100644
> Platform/Intel/KabylakeOpenBoardPkg/FspWrapper/Library/SecFspWrapper
> PlatformSecLib/Ia32/SecEntry.nasm
>  delete mode 100644
> Platform/Intel/KabylakeOpenBoardPkg/FspWrapper/Library/SecFspWrapper
> PlatformSecLib/Ia32/Stack.nasm
>  delete mode 100644
> Platform/Intel/KabylakeOpenBoardPkg/FspWrapper/Library/SecFspWrapper
> PlatformSecLib/PlatformInit.c
>  delete mode 100644
> Platform/Intel/KabylakeOpenBoardPkg/FspWrapper/Library/SecFspWrapper
> PlatformSecLib/SecFspWrapperPlatformSecLib.inf
>  delete mode 100644
> Platform/Intel/KabylakeOpenBoardPkg/FspWrapper/Library/SecFspWrapper
> PlatformSecLib/SecGetPerformance.c
>  delete mode 100644
> Platform/Intel/KabylakeOpenBoardPkg/FspWrapper/Library/SecFspWrapper
> PlatformSecLib/SecPlatformInformation.c
>  delete mode 100644
> Platform/Intel/KabylakeOpenBoardPkg/FspWrapper/Library/SecFspWrapper
> PlatformSecLib/SecRamInitData.c
>  delete mode 100644
> Platform/Intel/KabylakeOpenBoardPkg/FspWrapper/Library/SecFspWrapper
> PlatformSecLib/SecTempRamDone.c
> 
> diff --git
> a/Platform/Intel/KabylakeOpenBoardPkg/FspWrapper/Library/SecFspWrapp
> erPlatformSecLib/FspWrapperPlatformSecLib.c
> b/Platform/Intel/KabylakeOpenBoardPkg/FspWrapper/Library/SecFspWrap
> perPlatformSecLib/FspWrapperPlatformSecLib.c
> deleted file mode 100644
> index d40eecae95..00
> ---
> a/Platform/Intel/KabylakeOpenBoardPkg/FspWrapper/Library/SecFspWrapp
> erPlatformSecLib/FspWrapperPlatformSecLib.c
> +++ /dev/null
> @@ -1,186 +0,0 @@
> -/** @file-  Provide FSP wrapper platform sec related function.--Copyright
> (c) 2017 - 2019, Intel Corporation. All rights reserved.-SPDX-License-
> Identifier: BSD-2-Clause-Patent--**/--#include --#include
> -#include -
> #include -#include
> -#include -#include
> --#include -#include
> -#include -#include
> --/**-  This interface conveys state information out of the
> Security (SEC) phase into PEI.--  @param[in] PeiServices   
> Pointer to
> the PEI Services Table.-  @param[in,out] StructureSize Pointer to 
> the
> variable describing size of the input buffer.-  @param[out]
> PlatformInformationRecord Pointer to the
> EFI_SEC_PLATFORM_INFORMATION_RECORD.--  @retval EFI_SUCCESS
> The data was successfully returned.-  @retval EFI_BUFFER_TOO_SMALL  The
> buffer was too small.--**/-EFI_STATUS-EFIAPI-SecPlatformInformation (-  IN
> CONST EFI_PEI_SERVICES **PeiServices,-  IN OUT   UINT64
> *StructureSize,- OUT   EFI_SEC_PLATFORM_INFORMATION_RECORD
> *PlatformInformationRecord-  );--/**-  This interface conveys performance
> information out of the Security (SEC) phase into PEI.--  This service is
> published by the SEC phase. The SEC phase handoff has an optional-
> EFI_PEI_PPI_DESCRIPTOR list as its final argument when control is passed
>

Re: [edk2-devel] [edk2-platforms] [PATCH V2 14/14] MinPlatformPkg: Remove BoardInitLib dependency from PlatformSecLib

2019-11-21 Thread Kubacki, Michael A
Reviewed-by: Michael Kubacki 

> -Original Message-
> From: Desimone, Nathaniel L 
> Sent: Thursday, November 21, 2019 12:59 AM
> To: devel@edk2.groups.io
> Cc: Kubacki, Michael A ; Chiu, Chasel
> ; Gao, Liming 
> Subject: [edk2-platforms] [PATCH V2 14/14] MinPlatformPkg: Remove
> BoardInitLib dependency from PlatformSecLib
> 
> SecFspWrapperPlatformSecLib contains the implementation of
> SecPlatformDisableTemporaryMemory(), which SecMain in UefiCpuPkg will
> call as part of its implementation of EFI_PEI_TEMPORARY_RAM_DONE_PPI.
> For platforms that use FSP, the implementation of
> SecPlatformDisableTemporaryMemory() can be made generic since the
> chipset specifics will be contained in FspTempRamExit().
> 
> The Minimum Platform Specification provides the BoardPkg two interface
> hook points, BoardInitBeforeTempRamExit() and
> BoardInitAfterTempRamExit() which must be called during
> SecPlatformDisableTemporaryMemory(). Due to
> EFI_PEI_TEMPORARY_RAM_DONE_PPI being a special case of a PPI that is
> implemented in SEC, these two functions are the only ones in BoardInitLib
> that need to be called by SEC.
> 
> Linking BoardInitLib with SEC places many restrictions on the implementation
> of that library. The features available to SEC phase code are very minimal.
> Since this code runs during PEI phase, these restrictions are not actually
> required.
> 
> Instead of directly linking with BoardInitLib,
> SecPlatformDisableTemporaryMemory() shall call BoardInitLib indirectly
> through a PPI (PLATFORM_INIT_TEMP_RAM_EXIT_PPI.) This PPI is produced
> by PlatformInitPreMem, which implements the other BoardInitLib calls
> already, so this change should also slightly reduce the size of the final 
> binary
> image since less PE/COFF images will need to link with BoardInitLib.
> 
> Cc: Michael Kubacki 
> Cc: Chasel Chiu 
> Cc: Liming Gao 
> Signed-off-by: Nate DeSimone 
> ---
>  .../SecFspWrapperPlatformSecLib.inf   |  2 +-
>  .../SecTempRamDone.c  | 36 +++--
>  .../Include/Ppi/PlatformInitTempRamExitPpi.h  | 55 ++
>  .../Intel/MinPlatformPkg/MinPlatformPkg.dec   |  2 +
>  .../PlatformInitPei/PlatformInitPreMem.c  | 76 ++-
>  .../PlatformInitPei/PlatformInitPreMem.inf|  1 +
>  6 files changed, 159 insertions(+), 13 deletions(-)  create mode 100644
> Platform/Intel/MinPlatformPkg/Include/Ppi/PlatformInitTempRamExitPpi.h
> 
> diff --git
> a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatf
> ormSecLib/SecFspWrapperPlatformSecLib.inf
> b/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatf
> ormSecLib/SecFspWrapperPlatformSecLib.inf
> index 02c720c73d..4f3fa9fa34 100644
> ---
> a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatf
> ormSecLib/SecFspWrapperPlatformSecLib.inf
> +++
> b/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlat
> +++ formSecLib/SecFspWrapperPlatformSecLib.inf
> @@ -69,7 +69,6 @@
>SerialPortLib   FspWrapperPlatformLib   FspWrapperApiLib-  BoardInitLib
> SecBoardInitLib   TestPointCheckLib   PeiServicesTablePointerLib@@ -80,6
> +79,7 @@
>gTopOfTemporaryRamPpiGuid   ## PRODUCES
> gEfiPeiFirmwareVolumeInfoPpiGuid## PRODUCES
> gFspTempRamExitPpiGuid  ## CONSUMES+
> gPlatformInitTempRamExitPpiGuid ## CONSUMES  [Pcd]
> gUefiCpuPkgTokenSpaceGuid.PcdPeiTemporaryRamStackSize   ##
> CONSUMESdiff --git
> a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatf
> ormSecLib/SecTempRamDone.c
> b/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatf
> ormSecLib/SecTempRamDone.c
> index 922e4ec204..b22cf57d6c 100644
> ---
> a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatf
> ormSecLib/SecTempRamDone.c
> +++
> b/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlat
> +++ formSecLib/SecTempRamDone.c
> @@ -10,6 +10,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
>   #include  #include
> +#include 
> #include  #include @@ -
> 17,7 +18,6 @@ SPDX-License-Identifier: BSD-2-Clause-Patent  #include
>  #include 
> #include -#include 
> #include   /**@@ -29,14 +29,35 @@
> SecPlatformDisableTemporaryMemory (
>VOID   ) {-  EFI_STATUSStatus;-  VOID
> *TempRamExitParam;-  CONST EFI_PEI_SERVICES**PeiServices;-
> FSP_TEMP_RAM_EXIT_PPI *TempRamExitPpi;+  EFI_STATUS
> Status;+  VOID  *TempRamExitParam;+  CONST
> EFI_PEI_SERVICES**PeiServices;+  FSP_TEMP_RAM_EXIT_PPI
> *TempRamExitPpi;+  PLATFORM_INIT_TEMP_RAM_EXIT_PPI
> *PlatformInitTempRamExitPpi;DEBUG ((DEBUG_INFO,
>

Re: [edk2-devel] [edk2-platforms] [PATCH V2 11/14] MinPlatformPkg: Coding style cleanups in MinPlatformPkg.dec

2019-11-21 Thread Kubacki, Michael A
Reviewed-by: Michael Kubacki 

> -Original Message-
> From: Desimone, Nathaniel L 
> Sent: Thursday, November 21, 2019 12:59 AM
> To: devel@edk2.groups.io
> Cc: Kubacki, Michael A ; Chiu, Chasel
> ; Gao, Liming 
> Subject: [edk2-platforms] [PATCH V2 11/14] MinPlatformPkg: Coding style
> cleanups in MinPlatformPkg.dec
> 
> Cc: Michael Kubacki 
> Cc: Chasel Chiu 
> Cc: Liming Gao 
> Signed-off-by: Nate DeSimone 
> ---
>  .../Intel/MinPlatformPkg/MinPlatformPkg.dec   | 283 +-
>  1 file changed, 140 insertions(+), 143 deletions(-)
> 
> diff --git a/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec
> b/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec
> index fb069145ce..6ef0219129 100644
> --- a/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec
> +++ b/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec
> @@ -14,186 +14,184 @@
> 
> 
> 
> 
>  [Defines]
> 
> -DEC_SPECIFICATION = 0x00010017
> 
> -PACKAGE_NAME = MinPlatformPkg
> 
> -PACKAGE_VERSION = 0.1
> 
> -PACKAGE_GUID = 463B3B00-0D18-4a5f-90C0-D5B851D2574B
> 
> -
> 
> +  DEC_SPECIFICATION = 0x00010017
> 
> +  PACKAGE_NAME = MinPlatformPkg
> 
> +  PACKAGE_VERSION = 0.1
> 
> +  PACKAGE_GUID = 463B3B00-0D18-4a5f-90C0-D5B851D2574B
> 
> 
> 
>  [Includes]
> 
> -Include
> 
> +  Include
> 
> 
> 
>  [Ppis]
> 
> -gEdkiiSiliconInitializedPpiGuid = {0x82a72dc8, 0x61ec, 0x403e, {0xb1, 0x5a,
> 0x8d, 0x7a, 0x3a, 0x71, 0x84, 0x98}}
> 
> +  gEdkiiSiliconInitializedPpiGuid   = {0x82a72dc8, 0x61ec, 0x403e, {0xb1, 
> 0x5a,
> 0x8d, 0x7a, 0x3a, 0x71, 0x84, 0x98}}
> 
> 
> 
> -gPeiBaseMemoryTestPpiGuid   = { 0xb6ec423c, 0x21d2, 0x490d, { 0x85,
> 0xc6, 0xdd, 0x58, 0x64, 0xea, 0xa6, 0x74 } }
> 
> -gPeiPlatformMemorySizePpiGuid   = { 0x9a7ef41e, 0xc140, 0x4bd1, { 0xb8,
> 0x84, 0x1e, 0x11, 0x24, 0x0b, 0x4c, 0xe6 } }
> 
> +  gPeiBaseMemoryTestPpiGuid = {0xb6ec423c, 0x21d2, 0x490d, {0x85,
> 0xc6, 0xdd, 0x58, 0x64, 0xea, 0xa6, 0x74}}
> 
> +  gPeiPlatformMemorySizePpiGuid = {0x9a7ef41e, 0xc140, 0x4bd1, {0xb8,
> 0x84, 0x1e, 0x11, 0x24, 0x0b, 0x4c, 0xe6}}
> 
> 
> 
>  [Guids]
> 
> -gMinPlatformPkgTokenSpaceGuid =  {0x69d13bf0, 0xaf91, 0x4d96,
> {0xaa, 0x9f, 0x21, 0x84, 0xc5, 0xce, 0x3b, 0xc0}}
> 
> +  gMinPlatformPkgTokenSpaceGuid = {0x69d13bf0, 0xaf91, 0x4d96, {0xaa,
> 0x9f, 0x21, 0x84, 0xc5, 0xce, 0x3b, 0xc0}}
> 
> 
> 
> -gAdapterInfoPlatformTestPointGuid = {0x5381e3ea, 0xb77, 0x4580, {0xad,
> 0xdf, 0xa9, 0x1c, 0x8, 0x3b, 0xf2, 0x97}}
> 
> +  gAdapterInfoPlatformTestPointGuid = {0x5381e3ea, 0x0b77, 0x4580,
> {0xad, 0xdf, 0xa9, 0x1c, 0x08, 0x3b, 0xf2, 0x97}}
> 
> 
> 
> -gBoardDetectGuid   = {0x1792429d, 0x9d94, 0x4e08, {0xa0, 0x99, 0x73,
> 0xa2, 0x86, 0xae, 0xb4, 0x35}}
> 
> -gBoardPreMemInitGuid   = {0x191dcfcf, 0xe16e, 0x43bb, {0x9b, 0xc3, 0x6e,
> 0xee, 0x6f, 0xab, 0x3a, 0x27}}
> 
> -gBoardPostMemInitGuid  = {0xa0e933ea, 0xa69, 0x47fb,  {0xb2, 0xab,
> 0xa1, 0x6f, 0x71, 0x2d, 0x6f, 0x58}}
> 
> -gBoardNotificationInitGuid = {0x78dbcabf, 0xc544, 0x4e6f, {0xaf, 0x3a, 0x71,
> 0x17, 0xd9, 0x42, 0x4e, 0xd1}}
> 
> +  gBoardDetectGuid  = {0x1792429d, 0x9d94, 0x4e08, {0xa0, 
> 0x99,
> 0x73, 0xa2, 0x86, 0xae, 0xb4, 0x35}}
> 
> +  gBoardPreMemInitGuid  = {0x191dcfcf, 0xe16e, 0x43bb, {0x9b, 
> 0xc3,
> 0x6e, 0xee, 0x6f, 0xab, 0x3a, 0x27}}
> 
> +  gBoardPostMemInitGuid = {0xa0e933ea, 0xa69, 0x47fb,  {0xb2, 
> 0xab,
> 0xa1, 0x6f, 0x71, 0x2d, 0x6f, 0x58}}
> 
> +  gBoardNotificationInitGuid= {0x78dbcabf, 0xc544, 0x4e6f, {0xaf, 
> 0x3a,
> 0x71, 0x17, 0xd9, 0x42, 0x4e, 0xd1}}
> 
> 
> 
> -gBoardAcpiTableGuid= {0xd70e9f57, 0x69f, 0x4bef,  {0x96, 0xc0, 0x84,
> 0x74, 0xf4, 0xa2, 0x5f, 0x3a}}
> 
> -gBoardAcpiEnableGuid   = {0x9727b610, 0xf645, 0x4429, {0x89, 0x21, 0x2c,
> 0x2b, 0x58, 0xdc, 0xbb, 0xa}}
> 
> +  gBoardAcpiTableGuid   = {0xd70e9f57, 0x69f, 0x4bef,  {0x96, 
> 0xc0,
> 0x84, 0x74, 0xf4, 0xa2, 0x5f, 0x3a}}
> 
> +  gBoardAcpiEnableGuid  = {0x9727b610, 0xf645, 0x4429, {0x89, 
> 0x21,
> 0x2c, 0x2b, 0x58, 0xdc, 0xbb, 0x0a}}
> 
> 
> 
> -gDefaultDataFileGuid= { 0x1ae42876, 0x008f, 0x4161, 
> { 0xb2,
> 0xb7, 0x1c, 0x0d, 0x15, 0xc5, 0xef, 0x43 }}
> 
> -gDefaultDataOptSizeFileGuid = { 0x003e7b41, 0x98a2, 0x4be2, {
> 0xb2, 0x7a, 0x6c, 0x30, 0xc7, 0x65, 0x52, 0x25 }}
> 
> +  gDefaultDataFileGuid  = {0x1ae42876, 0x008f, 0x4161, {0xb2, 
> 0xb7,
> 0x1c, 0x0d, 0x15, 0xc5, 0xef, 0x43}}
> 
> +  gDefaultDataOptSizeFileGuid   = {0x003e7b41, 

Re: [edk2-devel] [edk2-platforms] [PATCH V2 09/14] WhiskeylakeOpenBoardPkg: Remove SecFspWrapperPlatformSecLib override

2019-11-21 Thread Kubacki, Michael A
Reviewed-by: Michael Kubacki 

> -Original Message-
> From: Desimone, Nathaniel L 
> Sent: Thursday, November 21, 2019 12:59 AM
> To: devel@edk2.groups.io
> Cc: Chiu, Chasel ; Kubacki, Michael A
> 
> Subject: [edk2-platforms] [PATCH V2 09/14] WhiskeylakeOpenBoardPkg:
> Remove SecFspWrapperPlatformSecLib override
> 
> Cc: Chasel Chiu 
> Cc: Michael Kubacki 
> Signed-off-by: Nate DeSimone 
> ---
>  .../FspWrapperPlatformSecLib.c| 163 
>  .../SecFspWrapperPlatformSecLib/FsptCoreUpd.h |  40 --
>  .../SecFspWrapperPlatformSecLib/Ia32/Fsp.h|  43 ---
>  .../Ia32/PeiCoreEntry.nasm| 130 ---
>  .../Ia32/SecEntry.nasm| 361 --
>  .../Ia32/Stack.nasm   |  72 
>  .../PlatformInit.c|  54 ---
>  .../SecFspWrapperPlatformSecLib.inf   |  97 -
>  .../SecGetPerformance.c   |  90 -
>  .../SecPlatformInformation.c  |  79 
>  .../SecRamInitData.c  |  37 --
>  .../SecTempRamDone.c  |  48 ---
>  .../WhiskeylakeURvp/OpenBoardPkg.dsc  |   2 +-
>  13 files changed, 1 insertion(+), 1215 deletions(-)  delete mode 100644
> Platform/Intel/WhiskeylakeOpenBoardPkg/FspWrapper/Library/SecFspWra
> pperPlatformSecLib/FspWrapperPlatformSecLib.c
>  delete mode 100644
> Platform/Intel/WhiskeylakeOpenBoardPkg/FspWrapper/Library/SecFspWra
> pperPlatformSecLib/FsptCoreUpd.h
>  delete mode 100644
> Platform/Intel/WhiskeylakeOpenBoardPkg/FspWrapper/Library/SecFspWra
> pperPlatformSecLib/Ia32/Fsp.h
>  delete mode 100644
> Platform/Intel/WhiskeylakeOpenBoardPkg/FspWrapper/Library/SecFspWra
> pperPlatformSecLib/Ia32/PeiCoreEntry.nasm
>  delete mode 100644
> Platform/Intel/WhiskeylakeOpenBoardPkg/FspWrapper/Library/SecFspWra
> pperPlatformSecLib/Ia32/SecEntry.nasm
>  delete mode 100644
> Platform/Intel/WhiskeylakeOpenBoardPkg/FspWrapper/Library/SecFspWra
> pperPlatformSecLib/Ia32/Stack.nasm
>  delete mode 100644
> Platform/Intel/WhiskeylakeOpenBoardPkg/FspWrapper/Library/SecFspWra
> pperPlatformSecLib/PlatformInit.c
>  delete mode 100644
> Platform/Intel/WhiskeylakeOpenBoardPkg/FspWrapper/Library/SecFspWra
> pperPlatformSecLib/SecFspWrapperPlatformSecLib.inf
>  delete mode 100644
> Platform/Intel/WhiskeylakeOpenBoardPkg/FspWrapper/Library/SecFspWra
> pperPlatformSecLib/SecGetPerformance.c
>  delete mode 100644
> Platform/Intel/WhiskeylakeOpenBoardPkg/FspWrapper/Library/SecFspWra
> pperPlatformSecLib/SecPlatformInformation.c
>  delete mode 100644
> Platform/Intel/WhiskeylakeOpenBoardPkg/FspWrapper/Library/SecFspWra
> pperPlatformSecLib/SecRamInitData.c
>  delete mode 100644
> Platform/Intel/WhiskeylakeOpenBoardPkg/FspWrapper/Library/SecFspWra
> pperPlatformSecLib/SecTempRamDone.c
> 
> diff --git
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/FspWrapper/Library/SecFspWr
> apperPlatformSecLib/FspWrapperPlatformSecLib.c
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/FspWrapper/Library/SecFspWr
> apperPlatformSecLib/FspWrapperPlatformSecLib.c
> deleted file mode 100644
> index a767289bc5..00
> ---
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/FspWrapper/Library/SecFspWr
> apperPlatformSecLib/FspWrapperPlatformSecLib.c
> +++ /dev/null
> @@ -1,163 +0,0 @@
> -/** @file-  Provide FSP wrapper platform sec related function.---  Copyright
> (c) 2019, Intel Corporation. All rights reserved.-  
> SPDX-License-Identifier:
> BSD-2-Clause-Patent-**/--#include --#include
> -#include -
> #include -#include
> -#include --
> #include -#include -
> #include -#include --/**-  This
> interface conveys state information out of the Security (SEC) phase into PEI.-
> -  @param[in] PeiServices   Pointer to the PEI Services 
> Table.-
> @param[in,out] StructureSize Pointer to the variable describing 
> size of
> the input buffer.-  @param[out]PlatformInformationRecord Pointer to the
> EFI_SEC_PLATFORM_INFORMATION_RECORD.--  @retval EFI_SUCCESS
> The data was successfully returned.-  @retval EFI_BUFFER_TOO_SMALL  The
> buffer was too small.--**/-EFI_STATUS-EFIAPI-SecPlatformInformation (-  IN
> CONST EFI_PEI_SERVICES **PeiServices,-  IN OUT   UINT64
> *StructureSize,- OUT   EFI_SEC_PLATFORM_INFORMATION_RECORD
> *PlatformInformationRecord-  );--/**-  This interface conveys performance
> information out of the Security (SEC) phase into PEI.--  This service is
> published by the SEC phase. The SEC phase handoff has an optional-
> EFI_PEI_PPI_DESCRIPTOR list as its final argument when control is passed
> from SEC into the-  PEI Foundation. As such, if the plat

Re: [edk2-devel] [edk2-platforms] [PATCH V2 05/14] CoffeeLakeSiliconPkg: TcoWdtHob.h Cleanup

2019-11-21 Thread Kubacki, Michael A
Reviewed-by: Michael Kubacki 

> -Original Message-
> From: Desimone, Nathaniel L 
> Sent: Thursday, November 21, 2019 12:59 AM
> To: devel@edk2.groups.io
> Cc: Chiu, Chasel ; Kubacki, Michael A
> ; Chaganty, Rangasai V
> 
> Subject: [edk2-platforms] [PATCH V2 05/14] CoffeeLakeSiliconPkg:
> TcoWdtHob.h Cleanup
> 
> Removes duplicate EFI_HOB_GENERIC_HEADER and EFI_HOB_GUID_TYPE
> definitions from TcoWdtHob.h
> 
> Cc: Chasel Chiu 
> Cc: Michael Kubacki 
> Cc: Sai Chaganty 
> Signed-off-by: Nate DeSimone 
> ---
>  .../Include/Guid/TcoWdtHob.h  | 23 ++-
>  1 file changed, 2 insertions(+), 21 deletions(-)
> 
> diff --git a/Silicon/Intel/CoffeelakeSiliconPkg/Include/Guid/TcoWdtHob.h
> b/Silicon/Intel/CoffeelakeSiliconPkg/Include/Guid/TcoWdtHob.h
> index 5bf2527963..9e83ed49c1 100644
> --- a/Silicon/Intel/CoffeelakeSiliconPkg/Include/Guid/TcoWdtHob.h
> +++ b/Silicon/Intel/CoffeelakeSiliconPkg/Include/Guid/TcoWdtHob.h
> @@ -7,35 +7,16 @@
>  #ifndef __TCO_WDT_HOB_H__ #define __TCO_WDT_HOB_H__ +#include
> + #define TCO_WDT_HOB_GUID \   { \ 0x3e405418, 0xd8c, 0x4f1a,
> { 0xb0, 0x55, 0xbe, 0xf9, 0x8, 0x41, 0x46, 0x8d } \   } -#ifndef _PEI_HOB_H_-
> #ifndef __HOB__H__-#ifndef __PI_HOB_H__-typedef struct
> _EFI_HOB_GENERIC_HEADER {-  UINT16  HobType;-  UINT16  HobLength;-
> UINT32  Reserved;-} EFI_HOB_GENERIC_HEADER;--typedef struct
> _EFI_HOB_GUID_TYPE {-  EFI_HOB_GENERIC_HEADER  Header;-  EFI_GUID
> Name;-  //-  // Guid specific data goes here-  //-} EFI_HOB_GUID_TYPE;-
> #endif-#endif-#endif- typedef struct {   EFI_HOB_GUID_TYPE Header;
> UINT8 TcoRebootHappened; } TCO_WDT_HOB;  #endif---
> 2.24.0.windows.2


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#51149): https://edk2.groups.io/g/devel/message/51149
Mute This Topic: https://groups.io/mt/61073529/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel] [edk2-platforms] [PATCH V2 03/14] KabylakeSiliconPkg: Cleanup old comments

2019-11-21 Thread Kubacki, Michael A
The copyright year should be updated in SiliconInit.c

With that change:
Reviewed-by: Michael Kubacki 

> -Original Message-
> From: Desimone, Nathaniel L 
> Sent: Thursday, November 21, 2019 12:59 AM
> To: devel@edk2.groups.io
> Cc: Chiu, Chasel ; Kubacki, Michael A
> ; Chaganty, Rangasai V
> 
> Subject: [edk2-platforms] [PATCH V2 03/14] KabylakeSiliconPkg: Cleanup old
> comments
> 
> Cc: Chasel Chiu 
> Cc: Michael Kubacki 
> Cc: Sai Chaganty 
> Signed-off-by: Nate DeSimone 
> ---
>  .../Library/PeiSiliconInitLib/SiliconInit.c   | 3 +++
>  .../Library/PeiSiliconInitLib/SiliconInitPreMem.c | 4 +---
>  2 files changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git
> a/Silicon/Intel/KabylakeSiliconPkg/Library/PeiSiliconInitLib/SiliconInit.c
> b/Silicon/Intel/KabylakeSiliconPkg/Library/PeiSiliconInitLib/SiliconInit.c
> index d09bec0489..2057973d4b 100644
> --- a/Silicon/Intel/KabylakeSiliconPkg/Library/PeiSiliconInitLib/SiliconInit.c
> +++ b/Silicon/Intel/KabylakeSiliconPkg/Library/PeiSiliconInitLib/Silicon
> +++ Init.c
> @@ -199,6 +199,9 @@ ClearIchSmiAndWake (
>return EFI_SUCCESS; } +/**+  Late Silicon Initialization+**/ VOID
> LateSiliconInit (   VOIDdiff --git
> a/Silicon/Intel/KabylakeSiliconPkg/Library/PeiSiliconInitLib/SiliconInitPreMe
> m.c
> b/Silicon/Intel/KabylakeSiliconPkg/Library/PeiSiliconInitLib/SiliconInitPreMe
> m.c
> index 65a67a6795..6af9e0fcfc 100644
> ---
> a/Silicon/Intel/KabylakeSiliconPkg/Library/PeiSiliconInitLib/SiliconInitPreMe
> m.c
> +++ b/Silicon/Intel/KabylakeSiliconPkg/Library/PeiSiliconInitLib/Silicon
> +++ InitPreMem.c
> @@ -31,9 +31,8 @@ SPDX-License-Identifier: BSD-2-Clause-Patent  #include
>  #include  -
> //@todo it should be moved to Si Pkg. /**-  Early Platform PCH initialization+
> Early Silicon initialization **/ VOID EarlySiliconInit (@@ -233,4 +232,3 @@
> SiliconInit (
>}  }---
> 2.24.0.windows.2


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#51147): https://edk2.groups.io/g/devel/message/51147
Mute This Topic: https://groups.io/mt/61073532/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel] [edk2-platforms] [PATCH V2 07/14] WhiskeylakeOpenBoardPkg: Add SiliconInitLib APIs to BoardInitLib

2019-11-21 Thread Kubacki, Michael A
Reviewed-by: Michael Kubacki 

> -Original Message-
> From: Desimone, Nathaniel L 
> Sent: Thursday, November 21, 2019 12:59 AM
> To: devel@edk2.groups.io
> Cc: Chiu, Chasel ; Kubacki, Michael A
> 
> Subject: [edk2-platforms] [PATCH V2 07/14] WhiskeylakeOpenBoardPkg:
> Add SiliconInitLib APIs to BoardInitLib
> 
> Cc: Chasel Chiu 
> Cc: Michael Kubacki 
> Signed-off-by: Nate DeSimone 
> ---
>  .../BoardInitLib/PeiBoardInitPostMemLib.inf   |  1 +
>  .../BoardInitLib/PeiBoardInitPreMemLib.inf|  1 +
>  .../PeiMultiBoardInitPostMemLib.inf   |  1 +
>  .../PeiMultiBoardInitPreMemLib.inf|  2 +-
>  .../PeiWhiskeylakeURvpInitPostMemLib.c|  6 +-
>  .../PeiWhiskeylakeURvpInitPreMemLib.c | 89 ++-
>  .../BoardInitLib/WhiskeylakeURvpInit.h|  1 +
>  .../WhiskeylakeURvp/OpenBoardPkg.dsc  |  5 ++
>  8 files changed, 24 insertions(+), 82 deletions(-)
> 
> diff --git
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/Boa
> rdInitLib/PeiBoardInitPostMemLib.inf
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/Boa
> rdInitLib/PeiBoardInitPostMemLib.inf
> index 9bf4d127c5..affc5c56ad 100644
> ---
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/Boa
> rdInitLib/PeiBoardInitPostMemLib.inf
> +++
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/Boa
> rdInitLib/PeiBoardInitPostMemLib.inf
> @@ -26,6 +26,7 @@
>HdaVerbTableLib
> 
>MemoryAllocationLib
> 
>PcdLib
> 
> +  SiliconInitLib
> 
> 
> 
>  [Packages]
> 
>MinPlatformPkg/MinPlatformPkg.dec
> 
> diff --git
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/Boa
> rdInitLib/PeiBoardInitPreMemLib.inf
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/Boa
> rdInitLib/PeiBoardInitPreMemLib.inf
> index 4ab80f9eb3..40e20285e0 100644
> ---
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/Boa
> rdInitLib/PeiBoardInitPreMemLib.inf
> +++
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/Boa
> rdInitLib/PeiBoardInitPreMemLib.inf
> @@ -23,6 +23,7 @@
>BaseMemoryLib
> 
>MemoryAllocationLib
> 
>PcdLib
> 
> +  SiliconInitLib
> 
> 
> 
>  [Packages]
> 
>MinPlatformPkg/MinPlatformPkg.dec
> 
> diff --git
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/Boa
> rdInitLib/PeiMultiBoardInitPostMemLib.inf
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/Boa
> rdInitLib/PeiMultiBoardInitPostMemLib.inf
> index c043e32638..21dc2f70c0 100644
> ---
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/Boa
> rdInitLib/PeiMultiBoardInitPostMemLib.inf
> +++
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/Boa
> rdInitLib/PeiMultiBoardInitPostMemLib.inf
> @@ -30,6 +30,7 @@
>PeiPlatformHookLib
> 
>PeiPolicyInitLib
> 
>PchInfoLib
> 
> +  SiliconInitLib
> 
> 
> 
>  [Packages]
> 
>MinPlatformPkg/MinPlatformPkg.dec
> 
> diff --git
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/Boa
> rdInitLib/PeiMultiBoardInitPreMemLib.inf
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/Boa
> rdInitLib/PeiMultiBoardInitPreMemLib.inf
> index cd0315377a..7389f1dfcd 100644
> ---
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/Boa
> rdInitLib/PeiMultiBoardInitPreMemLib.inf
> +++
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/Boa
> rdInitLib/PeiMultiBoardInitPreMemLib.inf
> @@ -31,6 +31,7 @@
>PeiPlatformHookLib
> 
>PeiPolicyInitLib
> 
>PlatformHookLib
> 
> +  SiliconInitLib
> 
>StallPpiLib
> 
> 
> 
>  [Packages]
> 
> @@ -57,7 +58,6 @@
> 
> 
>  [Guids]
> 
>gPchGeneralPreMemConfigGuid  ## CONSUMES
> 
> -  gTcoWdtHobGuid## CONSUMES
> 
> 
> 
>  [Pcd]
> 
>gWhiskeylakeOpenBoardPkgTokenSpaceGuid.PcdLpcSioConfigDefaultPort
> 
> diff --git
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/Boa
> rdInitLib/PeiWhiskeylakeURvpInitPostMemLib.c
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/Boa
> rdInitLib/PeiWhiskeylakeURvpInitPostMemLib.c
> index 9413620a4a..248a6657d5 100644
> ---
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/Boa
> rdInitLib/PeiWhiskeylakeURvpInitPostMemLib.c
> +++
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/Boa
> rdInitLib/PeiWhiskeylakeURvpInitPostMemLib.c
> @@ -430,6 +430,10 @@ WhiskeylakeURvpBoardInitBeforeSiliconIni

Re: [edk2-devel] [edk2-platforms] [PATCH V2 12/14] KabylakeOpenBoardPkg: Add support for PcdFspDispatchModeUseFspPeiMain

2019-11-21 Thread Kubacki, Michael A
Reviewed-by: Michael Kubacki 

> -Original Message-
> From: Desimone, Nathaniel L 
> Sent: Thursday, November 21, 2019 12:59 AM
> To: devel@edk2.groups.io
> Cc: Chiu, Chasel ; Kubacki, Michael A
> 
> Subject: [edk2-platforms] [PATCH V2 12/14] KabylakeOpenBoardPkg: Add
> support for PcdFspDispatchModeUseFspPeiMain
> 
> If PcdFspDispatchModeUseFspPeiMain is FALSE, then the BoardPkg should
> include PeiMain in FvPreMemory.
> 
> Cc: Chasel Chiu 
> Cc: Michael Kubacki 
> Signed-off-by: Nate DeSimone 
> ---
>  .../KabylakeRvp3/OpenBoardPkg.fdf |  5 +++--
>  .../KabylakeRvp3/OpenBoardPkgPcd.dsc  | 20 +++
>  2 files changed, 23 insertions(+), 2 deletions(-)
> 
> diff --git
> a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.fdf
> b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.fdf
> index 98eb7dcb5a..3b3b153b68 100644
> ---
> a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.fdf
> +++
> b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.fdf
> @@ -229,10 +229,11 @@ READ_LOCK_STATUS   = TRUE
>  FvNameGuid = FC8FE6B5-CD9B-411E-BD8F-31824D0CDE3D  INF
> UefiCpuPkg/SecCore/SecCore.inf-!if
> (gMinPlatformPkgTokenSpaceGuid.PcdFspWrapperBootMode == FALSE) ||
> (gIntelFsp2WrapperTokenSpaceGuid.PcdFspModeSelection == 1)+!if
> (gMinPlatformPkgTokenSpaceGuid.PcdFspWrapperBootMode == FALSE) ||
> (gMinPlatformPkgTokenSpaceGuid.PcdFspDispatchModeUseFspPeiMain ==
> FALSE) || (gIntelFsp2WrapperTokenSpaceGuid.PcdFspModeSelection == 1)
> # # PeiMain is needed only for FSP API mode or EDK2 build,-# in FSP dispatch
> mode the one inside FSP Binary is launched.+# in FSP dispatch mode the one
> inside FSP Binary is launched+# unless requested otherwise
> (PcdFspDispatchModeUseFspPeiMain == FALSE). # INF
> MdeModulePkg/Core/Pei/PeiMain.inf !endifdiff --git
> a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkgPcd.
> dsc
> b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkgPcd.
> dsc
> index 580504cbc1..5474edd01c 100644
> ---
> a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkgPcd.
> dsc
> +++
> b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkgPcd.
> d
> +++ sc
> @@ -39,6 +39,26 @@
>#   gMinPlatformPkgTokenSpaceGuid.PcdFspWrapperBootMode|TRUE +
> #+  # FALSE: The PEI Main included in FvPreMemory is used to dispatch all
> PEIMs+  #(both inside FSP and outside FSP).+  #Pros:+  #  
> * PEI
> Main is re-built from source and is always the latest version+  #  *
> Platform code can link any desired LibraryClass to PEI Main+  #
> (Ex:
> Custom DebugLib instance, SerialPortLib, etc.)+  #Cons:+  #  
> * The PEI
> Main being used to execute FSP PEIMs is not the PEI Main+  #that 
> the
> FSP PEIMs were tested with, adding risk of breakage.+  #  * Two 
> copies of
> PEI Main will exist in the final binary,+  ##1 in FSP-M, #2 in
> FvPreMemory. The copy in FSP-M is never+  #executed, wasting
> space.+  #+  # TRUE:  The PEI Main included in FSP is used to dispatch
> all PEIMs+  #(both inside FSP and outside FSP). PEI Main will not be
> included in+  #FvPreMemory. This is the default and is the recommended
> choice.+  #+
> gMinPlatformPkgTokenSpaceGuid.PcdFspDispatchModeUseFspPeiMain|TR
> UE+   #   # FSP Base address PCD will be updated in FDF basing on flash map.
> #--
> 2.24.0.windows.2


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#51156): https://edk2.groups.io/g/devel/message/51156
Mute This Topic: https://groups.io/mt/61073539/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel] [edk2-platforms] [PATCH V2 06/14] CoffeelakeSiliconPkg: Add SiliconInitLib

2019-11-21 Thread Kubacki, Michael A
Reviewed-by: Michael Kubacki 

> -Original Message-
> From: Desimone, Nathaniel L 
> Sent: Thursday, November 21, 2019 12:59 AM
> To: devel@edk2.groups.io
> Cc: Chiu, Chasel ; Kubacki, Michael A
> ; Chaganty, Rangasai V
> 
> Subject: [edk2-platforms] [PATCH V2 06/14] CoffeelakeSiliconPkg: Add
> SiliconInitLib
> 
> SiliconInitLib contains Silicon Init APIs that can be reused by BoardInitLib. 
> It is
> expected that several implementations of BoardInitLib exist for a given SOC,
> these APIs allow the various BoardInitLib implementations to reuse common
> silicon initialization code. This matches the implementation already found in
> KabylakeSiliconPkg. This change also adds halting the TCO watch dog timer to
> PEI, which was previously done in SEC.
> 
> Cc: Chasel Chiu 
> Cc: Michael Kubacki 
> Cc: Sai Chaganty 
> Signed-off-by: Nate DeSimone 
> ---
>  .../Include/Library/SiliconInitLib.h  |  28 +
>  .../PeiSiliconInitLib/PeiSiliconInitLib.inf   |  46 
>  .../Library/PeiSiliconInitLib/SiliconInit.c   |  19 +++
>  .../PeiSiliconInitLib/SiliconInitPreMem.c | 109 ++
>  4 files changed, 202 insertions(+)
>  create mode 100644
> Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/SiliconInitLib.h
>  create mode 100644
> Silicon/Intel/CoffeelakeSiliconPkg/Library/PeiSiliconInitLib/PeiSiliconInitLib.in
> f
>  create mode 100644
> Silicon/Intel/CoffeelakeSiliconPkg/Library/PeiSiliconInitLib/SiliconInit.c
>  create mode 100644
> Silicon/Intel/CoffeelakeSiliconPkg/Library/PeiSiliconInitLib/SiliconInitPreMem
> .c
> 
> diff --git 
> a/Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/SiliconInitLib.h
> b/Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/SiliconInitLib.h
> new file mode 100644
> index 00..a3411126a7
> --- /dev/null
> +++ b/Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/SiliconInitLib.
> +++ h
> @@ -0,0 +1,28 @@
> +/** @file++Copyright (c) 2019, Intel Corporation. All rights
> +reserved.+SPDX-License-Identifier:
> +BSD-2-Clause-Patent++**/++#ifndef _SILICON_INIT_LIB_H_+#define
> +_SILICON_INIT_LIB_H_++#include ++VOID+EarlySiliconInit (+
> +VOID+  );++VOID+SiliconInit (+  VOID+  );++VOID+LateSiliconInit (+
> +VOID+  );++#endif
> \ No newline at end of file
> diff --git
> a/Silicon/Intel/CoffeelakeSiliconPkg/Library/PeiSiliconInitLib/PeiSiliconInitLib.
> inf
> b/Silicon/Intel/CoffeelakeSiliconPkg/Library/PeiSiliconInitLib/PeiSiliconInitLib.
> inf
> new file mode 100644
> index 00..1534a24dd2
> --- /dev/null
> +++ b/Silicon/Intel/CoffeelakeSiliconPkg/Library/PeiSiliconInitLib/PeiSi
> +++ liconInitLib.inf
> @@ -0,0 +1,46 @@
> +### @file+#+# Copyright (c) 2019, Intel Corporation. All rights
> reserved.+#+# SPDX-License-Identifier: BSD-2-Clause-
> Patent+#+###++[Defines]+  INF_VERSION= 0x00010017+
> BASE_NAME  = SiliconInitLib+  FILE_GUID   
>= 82F2ACF0-
> 2EBE-48C8-AC58-9D0F8BC1E16E+  VERSION_STRING = 1.0+
> MODULE_TYPE= PEIM+  LIBRARY_CLASS  =
> SiliconInitLib|SEC PEIM+#+# The following information is for reference only
> and not required by the build tools.+#+# VALID_ARCHITECTURES = IA32 X64
> IPF EBC+#++[LibraryClasses]+  BaseLib+  BaseMemoryLib+  DebugLib+
> HobLib+  IoLib+  PcdLib+  PeiServicesLib+  PchCycleDecodingLib+
> PmcLib++[Packages]+  MdePkg/MdePkg.dec+
> CoffeelakeSiliconPkg/SiPkg.dec++[Sources]+  SiliconInit.c+
> SiliconInitPreMem.c++[Guids]+  gTcoWdtHobGuid  ##
> CONSUMES++[Pcd]+  gSiPkgTokenSpaceGuid.PcdAcpiBaseAddress ##
> CONSUMES+  gSiPkgTokenSpaceGuid.PcdTcoBaseAddress  ##
> CONSUMESdiff --git
> a/Silicon/Intel/CoffeelakeSiliconPkg/Library/PeiSiliconInitLib/SiliconInit.c
> b/Silicon/Intel/CoffeelakeSiliconPkg/Library/PeiSiliconInitLib/SiliconInit.c
> new file mode 100644
> index 00..1c15e0e54e
> --- /dev/null
> +++ b/Silicon/Intel/CoffeelakeSiliconPkg/Library/PeiSiliconInitLib/Silic
> +++ onInit.c
> @@ -0,0 +1,19 @@
> +/** @file+  Silicon Init APIs for MinPlatform BoardInitLib
> +implementations.++Copyright (c) 2019, Intel Corporation. All rights
> +reserved.+SPDX-License-Identifier:
> +BSD-2-Clause-Patent++**/++#include ++/**+  Late Silicon
> +Initialization+**/+VOID+LateSiliconInit (+  VOID+  )+{+}diff --git
> +a/Silicon/Intel/CoffeelakeSiliconPkg/Library/PeiSiliconInitLib/SiliconI
> +nitPreMem.c
> +b/Silicon/Intel/CoffeelakeSiliconPkg/Library/PeiSiliconInitLib/SiliconI
> +nitPreMem.c
> new file mode 100644
> index 00..ab98b6ccc5
> --- /dev/null
> +++ b/Silicon/Intel/CoffeelakeSiliconPkg/Library/PeiSiliconInitLib/Silic
> +++ onInitPreMem.c

Re: [edk2-devel] [edk2-platforms] [PATCH V2 04/14] CoffeeLakeSiliconPkg: Move TcoWdtHob.h

2019-11-21 Thread Kubacki, Michael A
Reviewed-by: Michael Kubacki 

> -Original Message-
> From: devel@edk2.groups.io  On Behalf Of Nate
> DeSimone
> Sent: Thursday, November 21, 2019 12:59 AM
> To: devel@edk2.groups.io
> Cc: Chiu, Chasel ; Kubacki, Michael A
> ; Chaganty, Rangasai V
> 
> Subject: [edk2-devel] [edk2-platforms] [PATCH V2 04/14]
> CoffeeLakeSiliconPkg: Move TcoWdtHob.h
> 
> Moves TcoWdtHob.h from WhiskeylakeOpenBoardPkg to
> CoffeelakeSiliconPkg.
> Oddly, gTcoWdtHobGuid was defined in CoffeelakeSiliconPkg/SiPkg.dec
> while the HOB definition itself was in WhiskeylakeOpenBoardPkg, this
> change cleans up the disparity.
> 
> Cc: Chasel Chiu 
> Cc: Michael Kubacki 
> Cc: Sai Chaganty 
> Signed-off-by: Nate DeSimone 
> ---
>  .../Intel/CoffeelakeSiliconPkg}/Include/Guid/TcoWdtHob.h  | 0
>  1 file changed, 0 insertions(+), 0 deletions(-)  rename
> {Platform/Intel/WhiskeylakeOpenBoardPkg =>
> Silicon/Intel/CoffeelakeSiliconPkg}/Include/Guid/TcoWdtHob.h (100%)
> 
> diff --git
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/Include/Guid/TcoWdtHob.h
> b/Silicon/Intel/CoffeelakeSiliconPkg/Include/Guid/TcoWdtHob.h
> similarity index 100%
> rename from
> Platform/Intel/WhiskeylakeOpenBoardPkg/Include/Guid/TcoWdtHob.h
> rename to Silicon/Intel/CoffeelakeSiliconPkg/Include/Guid/TcoWdtHob.h
> --
> 2.24.0.windows.2
> 
> 
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#51148): https://edk2.groups.io/g/devel/message/51148
Mute This Topic: https://groups.io/mt/61073530/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel] [edk2-platforms] [PATCH V2 10/14] MinPlatformPkg: FSP Dispatch Mode Support for PlatformSecLib

2019-11-21 Thread Kubacki, Michael A
Reviewed-by: Michael Kubacki 

> -Original Message-
> From: Desimone, Nathaniel L 
> Sent: Thursday, November 21, 2019 12:59 AM
> To: devel@edk2.groups.io
> Cc: Kubacki, Michael A ; Chiu, Chasel
> ; Gao, Liming 
> Subject: [edk2-platforms] [PATCH V2 10/14] MinPlatformPkg: FSP Dispatch
> Mode Support for PlatformSecLib
> 
> Cc: Michael Kubacki 
> Cc: Chasel Chiu 
> Cc: Liming Gao 
> Signed-off-by: Nate DeSimone 
> ---
>  .../FspWrapperPlatformSecLib.c| 34 ---
>  .../SecFspWrapperPlatformSecLib.inf   |  7 +++-
>  .../SecTempRamDone.c  | 42 +++
>  .../Intel/MinPlatformPkg/MinPlatformPkg.dec   | 28 -
>  4 files changed, 95 insertions(+), 16 deletions(-)
> 
> diff --git
> a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatf
> ormSecLib/FspWrapperPlatformSecLib.c
> b/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatf
> ormSecLib/FspWrapperPlatformSecLib.c
> index 303f3aac40..36bdc1dee8 100644
> ---
> a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatf
> ormSecLib/FspWrapperPlatformSecLib.c
> +++
> b/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlat
> +++ formSecLib/FspWrapperPlatformSecLib.c
> @@ -1,7 +1,7 @@
>  /** @file   Provide FSP wrapper platform sec related function. -Copyright (c)
> 2017, Intel Corporation. All rights reserved.+Copyright (c) 2017 - 2019,
> Intel Corporation. All rights reserved. SPDX-License-Identifier: BSD-2-
> Clause-Patent  **/@@ -12,6 +12,7 @@ SPDX-License-Identifier: BSD-2-
> Clause-Patent
>  #include  #include 
> #include +#include 
> #include   #include
> @@ -66,6 +67,18 @@ PEI_SEC_PERFORMANCE_PPI
> mSecPerformancePpi = {
>SecGetPerformance }; +EFI_PEI_CORE_FV_LOCATION_PPI
> mPeiCoreFvLocationPpi = {+  (VOID *) (UINTN) FixedPcdGet32
> (PcdFspmBaseAddress)+};++EFI_PEI_PPI_DESCRIPTOR
> mPeiCoreFvLocationPpiList[] = {+  {+EFI_PEI_PPI_DESCRIPTOR_PPI,+
> ,++  }+};+
> EFI_PEI_PPI_DESCRIPTOR  mPeiSecPlatformPpi[] = {   {
> EFI_PEI_PPI_DESCRIPTOR_PPI,@@ -129,6 +142,8 @@ SecPlatformMain (
>) {   EFI_PEI_PPI_DESCRIPTOR  *PpiList;+  UINT8
> TopOfTemporaryRamPpiIndex;+  UINT8   
> *CopyDestinationPointer;
> DEBUG ((DEBUG_INFO, "FSP Wrapper BootFirmwareVolumeBase - 0x%x\n",
> SecCoreData->BootFirmwareVolumeBase));   DEBUG ((DEBUG_INFO, "FSP
> Wrapper BootFirmwareVolumeSize - 0x%x\n", SecCoreData-
> >BootFirmwareVolumeSize));@@ -150,13 +165,22 @@ SecPlatformMain (
>// Use middle of Heap as temp buffer, it will be copied by caller.   // Do 
> not
> use Stack, because it will cause wrong calculation on stack by PeiCore   //-
> PpiList = (VOID *)((UINTN)SecCoreData->PeiTemporaryRamBase +
> (UINTN)SecCoreData->PeiTemporaryRamSize/2);-  CopyMem (PpiList,
> mPeiSecPlatformPpi, sizeof(mPeiSecPlatformPpi));-+  PpiList = (VOID
> *)((UINTN) SecCoreData->PeiTemporaryRamBase + (UINTN) SecCoreData-
> >PeiTemporaryRamSize/2);+  CopyDestinationPointer = (UINT8 *) PpiList;+
> TopOfTemporaryRamPpiIndex = 0;+  if ((PcdGet8 (PcdFspModeSelection) ==
> 0) && PcdGetBool (PcdFspDispatchModeUseFspPeiMain)) {+//+// In
> Dispatch mode, wrapper should provide PeiCoreFvLocationPpi.+//+
> CopyMem (CopyDestinationPointer, mPeiCoreFvLocationPpiList, sizeof
> (mPeiCoreFvLocationPpiList));+TopOfTemporaryRamPpiIndex = 1;+
> CopyDestinationPointer += sizeof (mPeiCoreFvLocationPpiList);+  }+
> CopyMem (CopyDestinationPointer, mPeiSecPlatformPpi, sizeof
> (mPeiSecPlatformPpi));   //   // Patch TopOfTemporaryRamPpi   //-
> PpiList[0].Ppi = (VOID *)((UINTN)SecCoreData->TemporaryRamBase +
> SecCoreData->TemporaryRamSize);+
> PpiList[TopOfTemporaryRamPpiIndex].Ppi = (VOID *)((UINTN) SecCoreData-
> >TemporaryRamBase + SecCoreData->TemporaryRamSize);return PpiList;
> }diff --git
> a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatf
> ormSecLib/SecFspWrapperPlatformSecLib.inf
> b/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatf
> ormSecLib/SecFspWrapperPlatformSecLib.inf
> index 3f5a63f273..02c720c73d 100644
> ---
> a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatf
> ormSecLib/SecFspWrapperPlatformSecLib.inf
> +++
> b/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlat
> +++ formSecLib/SecFspWrapperPlatformSecLib.inf
> @@ -72,18 +72,20 @@
>BoardInitLib   SecBoardInitLib   TestPointCheckLib+
> PeiServicesTablePointerLib  [Ppis]   gEfiSecPlatformInformationPpiGuid   
> ##
> CONSUMES   gPeiSecPerformancePpiGuid   ## CONSUMES
> gTopOfTemporaryRamPpiGuid   ##

Re: [edk2-devel] [edk2-platforms] [PATCH V2 08/14] WhiskeylakeOpenBoardPkg: Whitespace cleanup in BoardInitLib

2019-11-21 Thread Kubacki, Michael A
Reviewed-by: Michael Kubacki 

> -Original Message-
> From: Desimone, Nathaniel L 
> Sent: Thursday, November 21, 2019 12:59 AM
> To: devel@edk2.groups.io
> Cc: Chiu, Chasel ; Kubacki, Michael A
> 
> Subject: [edk2-platforms] [PATCH V2 08/14] WhiskeylakeOpenBoardPkg:
> Whitespace cleanup in BoardInitLib
> 
> Cc: Chasel Chiu 
> Cc: Michael Kubacki 
> Signed-off-by: Nate DeSimone 
> ---
>  .../PeiWhiskeylakeURvpInitPostMemLib.c| 185 ++---
>  .../PeiWhiskeylakeURvpInitPreMemLib.c | 257 +-
>  2 files changed, 216 insertions(+), 226 deletions(-)
> 
> diff --git
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/Boa
> rdInitLib/PeiWhiskeylakeURvpInitPostMemLib.c
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/Boa
> rdInitLib/PeiWhiskeylakeURvpInitPostMemLib.c
> index 248a6657d5..827af6bb57 100644
> ---
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/Boa
> rdInitLib/PeiWhiskeylakeURvpInitPostMemLib.c
> +++
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/Boa
> rdInitLib/PeiWhiskeylakeURvpInitPostMemLib.c
> @@ -33,16 +33,16 @@
>  #include "WhiskeylakeURvpInit.h"
> 
> 
> 
>  EFI_STATUS
> 
> -BoardFunctionInit(
> 
> +BoardFunctionInit (
> 
>IN UINT16 BoardId
> 
> -);
> 
> +  );
> 
> 
> 
>  /**
> 
> -GPIO init function for PEI post memory phase.
> 
> +  GPIO init function for PEI post memory phase.
> 
> 
> 
> -@param[in]  BoardId   An unsigned integrer represent the board id.
> 
> +  @param[in]  BoardId   An unsigned integrer represent the board id.
> 
> 
> 
> -@retval EFI_SUCCESS   The function completed successfully.
> 
> +  @retval EFI_SUCCESS   The function completed successfully.
> 
>  **/
> 
>  EFI_STATUS
> 
>  BoardGpioInit(
> 
> @@ -72,48 +72,48 @@ BoardGpioInit(
>  }
> 
> 
> 
>  /**
> 
> -Touch panel GPIO init function for PEI post memory phase.
> 
> +  Touch panel GPIO init function for PEI post memory phase.
> 
> 
> 
> -@param[in]  BoardId   An unsigned integrer represent the board id.
> 
> +  @param[in]  BoardId   An unsigned integrer represent the board id.
> 
> 
> 
> -@retval EFI_SUCCESS   The function completed successfully.
> 
> +  @retval EFI_SUCCESS   The function completed successfully.
> 
>  **/
> 
>  EFI_STATUS
> 
> -TouchPanelGpioInit(
> 
> +TouchPanelGpioInit (
> 
>IN UINT16 BoardId
> 
> -)
> 
> +  )
> 
>  {
> 
>switch (BoardId) {
> 
>  default:
> 
> -  PcdSet32S(PcdBoardGpioTableTouchPanel, 0);
> 
> +  PcdSet32S (PcdBoardGpioTableTouchPanel, 0);
> 
>  break;
> 
>}
> 
>return EFI_SUCCESS;
> 
>  }
> 
> 
> 
>  /**
> 
> -Misc. init function for PEI post memory phase.
> 
> +  Misc. init function for PEI post memory phase.
> 
> 
> 
> -@param[in]  BoardId   An unsigned integrer represent the board id.
> 
> +  @param[in]  BoardId   An unsigned integrer represent the board id.
> 
> 
> 
> -@retval EFI_SUCCESS   The function completed successfully.
> 
> +  @retval EFI_SUCCESS   The function completed successfully.
> 
>  **/
> 
>  EFI_STATUS
> 
> -BoardMiscInit(
> 
> +BoardMiscInit (
> 
>IN UINT16 BoardId
> 
> -)
> 
> +  )
> 
>  {
> 
> -  PcdSetBoolS(PcdDebugUsbUartEnable, FALSE);
> 
> +  PcdSetBoolS (PcdDebugUsbUartEnable, FALSE);
> 
> 
> 
>switch (BoardId) {
> 
> 
> 
>  case BoardIdWhiskeyLakeRvp:
> 
> 
> 
> -  PcdSetBoolS(PcdMipiCamGpioEnable, TRUE);
> 
> +  PcdSetBoolS (PcdMipiCamGpioEnable, TRUE);
> 
>break;
> 
> 
> 
>  default:
> 
> -  PcdSetBoolS(PcdMipiCamGpioEnable, FALSE);
> 
> +  PcdSetBoolS (PcdMipiCamGpioEnable, FALSE);
> 
>break;
> 
>}
> 
> 
> 
> @@ -121,25 +121,22 @@ BoardMiscInit(
>  }
> 
> 
> 
>  /**
> 
> -Security GPIO init function for PEI post memory phase.
> 
> +  Security GPIO init function for PEI post memory phase.
> 
> 
> 
> -@param[in]  BoardId   An unsigned integrer represent the board id.
> 
> +  @param[in]  BoardId   An unsigned integrer represent the board id.
> 
> 
> 
> -@retval EFI_SUCCESS   The function completed successfully.
> 
> +  @retval EFI_SUCCESS   The function completed successfully.
> 
>  **/
> 
>  EFI_STATUS
> 
>  BoardSecurityInit (
> 
>IN UINT16 BoardId
> 
> -)
> 
> +  )
> 
>  {
> 
>switch (BoardId) {
> 
> -

Re: [edk2-devel] [edk2-platforms] [PATCH V2 02/14] KabylakeOpenBoardPkg: Update location of SiliconInitLib

2019-11-21 Thread Kubacki, Michael A
Reviewed-by: Michael Kubacki 

> -Original Message-
> From: devel@edk2.groups.io  On Behalf Of Nate
> DeSimone
> Sent: Thursday, November 21, 2019 12:59 AM
> To: devel@edk2.groups.io
> Cc: Chiu, Chasel ; Kubacki, Michael A
> ; Jeremy Soller 
> Subject: [edk2-devel] [edk2-platforms] [PATCH V2 02/14]
> KabylakeOpenBoardPkg: Update location of SiliconInitLib
> 
> Cc: Chasel Chiu 
> Cc: Michael Kubacki 
> Cc: Jeremy Soller 
> Signed-off-by: Nate DeSimone 
> ---
>  Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkg.dsc | 2
> +-
>  .../Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.dsc| 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git
> a/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkg.dsc
> b/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkg.dsc
> index e43c944201..2bc2b4126b 100644
> --- a/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkg.dsc
> +++
> b/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/OpenBoardPkg.dsc
> @@ -105,7 +105,7 @@
># Silicon Initialization Package
> ###
> ConfigBlockLib|IntelSiliconPkg/Library/BaseConfigBlockLib/BaseConfigBlockLi
> b.inf-
> SiliconInitLib|$(PLATFORM_SI_PACKAGE)/Library/SiliconInitLib/SiliconInitLib.i
> nf+
> SiliconInitLib|$(PLATFORM_SI_PACKAGE)/Library/PeiSiliconInitLib/PeiSiliconI
> nitLib.inf
> SiliconPolicyInitLib|$(PLATFORM_SI_PACKAGE)/Library/PeiSiliconPolicyInitLib
> Fsp/PeiSiliconPolicyInitLibFsp.inf
> #diff --git
> a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.dsc
> b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.dsc
> index 1ce473432a..77e4a6a610 100644
> ---
> a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.dsc
> +++
> b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.dsc
> @@ -133,7 +133,7 @@
># Silicon Initialization Package
> ###
> ConfigBlockLib|IntelSiliconPkg/Library/BaseConfigBlockLib/BaseConfigBlockLi
> b.inf-
> SiliconInitLib|$(PLATFORM_SI_PACKAGE)/Library/SiliconInitLib/SiliconInitLib.i
> nf+
> SiliconInitLib|$(PLATFORM_SI_PACKAGE)/Library/PeiSiliconInitLib/PeiSiliconI
> nitLib.inf  !if gIntelFsp2WrapperTokenSpaceGuid.PcdFspModeSelection == 1
> #--
> 2.24.0.windows.2
> 
> 
> -=-=-=-=-=-=
> Groups.io Links: You receive all messages sent to this group.
> 
> View/Reply Online (#51010): https://edk2.groups.io/g/devel/message/51010
> Mute This Topic: https://groups.io/mt/61073523/1772268
> Group Owner: devel+ow...@edk2.groups.io
> Unsubscribe: https://edk2.groups.io/g/devel/unsub
> [michael.a.kuba...@intel.com] -=-=-=-=-=-=


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#51146): https://edk2.groups.io/g/devel/message/51146
Mute This Topic: https://groups.io/mt/61073523/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel] [edk2-platforms] [PATCH V2 01/14] KabylakeSiliconPkg: Change MODULE_TYPE of SiliconInitLib to PEIM

2019-11-21 Thread Kubacki, Michael A
Reviewed-by: Michael Kubacki 

> -Original Message-
> From: Desimone, Nathaniel L 
> Sent: Thursday, November 21, 2019 12:59 AM
> To: devel@edk2.groups.io
> Cc: Chiu, Chasel ; Kubacki, Michael A
> ; Chaganty, Rangasai V
> 
> Subject: [edk2-platforms] [PATCH V2 01/14] KabylakeSiliconPkg: Change
> MODULE_TYPE of SiliconInitLib to PEIM
> 
> This library contains PEI phase only code. For example,
> ClearIchSmiAndWake() calls PeiServicesGetBootMode().
> Accordingly, this library should have never been marked as a BASE library.
> 
> Cc: Chasel Chiu 
> Cc: Michael Kubacki 
> Cc: Sai Chaganty 
> Signed-off-by: Nate DeSimone 
> ---
>  .../PeiSiliconInitLib.inf}   | 5 +++--
>  .../{SiliconInitLib => PeiSiliconInitLib}/SiliconInit.c  | 0
>  .../SiliconInitPreMem.c  | 0
>  3 files changed, 3 insertions(+), 2 deletions(-)  rename
> Silicon/Intel/KabylakeSiliconPkg/Library/{SiliconInitLib/SiliconInitLib.inf =>
> PeiSiliconInitLib/PeiSiliconInitLib.inf} (86%)  rename
> Silicon/Intel/KabylakeSiliconPkg/Library/{SiliconInitLib =>
> PeiSiliconInitLib}/SiliconInit.c (100%)  rename
> Silicon/Intel/KabylakeSiliconPkg/Library/{SiliconInitLib =>
> PeiSiliconInitLib}/SiliconInitPreMem.c (100%)
> 
> diff --git
> a/Silicon/Intel/KabylakeSiliconPkg/Library/SiliconInitLib/SiliconInitLib.inf
> b/Silicon/Intel/KabylakeSiliconPkg/Library/PeiSiliconInitLib/PeiSiliconInitLib.in
> f
> similarity index 86%
> rename from
> Silicon/Intel/KabylakeSiliconPkg/Library/SiliconInitLib/SiliconInitLib.inf
> rename to
> Silicon/Intel/KabylakeSiliconPkg/Library/PeiSiliconInitLib/PeiSiliconInitLib.inf
> index 132080e876..bd77b081e5 100644
> --- 
> a/Silicon/Intel/KabylakeSiliconPkg/Library/SiliconInitLib/SiliconInitLib.inf
> +++ b/Silicon/Intel/KabylakeSiliconPkg/Library/PeiSiliconInitLib/PeiSili
> +++ conInitLib.inf
> @@ -11,8 +11,9 @@
>BASE_NAME  = SiliconInitLib   FILE_GUID
>   = 72CD3A7B-
> FEA5-4F5E-9165-4DD12187BB13   VERSION_STRING = 1.0-
> MODULE_TYPE= BASE-  LIBRARY_CLASS  = 
> SiliconInitLib+
> MODULE_TYPE= PEIM+  LIBRARY_CLASS  =
> SiliconInitLib|SEC PEIM+ # # The following information is for reference only
> and not required by the build tools. #diff --git
> a/Silicon/Intel/KabylakeSiliconPkg/Library/SiliconInitLib/SiliconInit.c
> b/Silicon/Intel/KabylakeSiliconPkg/Library/PeiSiliconInitLib/SiliconInit.c
> similarity index 100%
> rename from
> Silicon/Intel/KabylakeSiliconPkg/Library/SiliconInitLib/SiliconInit.c
> rename to
> Silicon/Intel/KabylakeSiliconPkg/Library/PeiSiliconInitLib/SiliconInit.c
> diff --git
> a/Silicon/Intel/KabylakeSiliconPkg/Library/SiliconInitLib/SiliconInitPreMem.c
> b/Silicon/Intel/KabylakeSiliconPkg/Library/PeiSiliconInitLib/SiliconInitPreMe
> m.c
> similarity index 100%
> rename from
> Silicon/Intel/KabylakeSiliconPkg/Library/SiliconInitLib/SiliconInitPreMem.c
> rename to
> Silicon/Intel/KabylakeSiliconPkg/Library/PeiSiliconInitLib/SiliconInitPreMem.c
> --
> 2.24.0.windows.2


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#51145): https://edk2.groups.io/g/devel/message/51145
Mute This Topic: https://groups.io/mt/61073527/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel] [edk2-rfc] [edk2-platforms] Add Features directory

2019-11-21 Thread Kubacki, Michael A
I think the plural name is more intuitive since there will be more than one 
feature but I don’t have a strong preference.

Thanks,
Michael

From: Ni, Ray 
Sent: Thursday, November 21, 2019 12:05 AM
To: Kubacki; Kubacki, Michael A ; 
devel@edk2.groups.io
Subject: Re: [edk2-devel] [edk2-rfc] [edk2-platforms] Add Features directory


Basically I think the "/Features" directory is a good idea. It separates the 
common features from the concrete platforms. Minor comment: Given today here 
are "Drivers", "Platform" and "Silicon" under the root of edk2-platforms repo, 
do you think that it's better to use "/Feature" to align existing names?

I also wanted to change "Drivers" to "Driver" 
(https://edk2.groups.io/g/devel/message/47203?p=,,,20,0,0,0::Created,,OptionRomPkg,20,2,0,33080721)

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#51118): https://edk2.groups.io/g/devel/message/51118
Mute This Topic: https://groups.io/mt/40545577/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



  1   2   3   4   5   6   >