public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Nate DeSimone" <nathaniel.l.desimone@intel.com>
To: "Oram, Isaac W" <isaac.w.oram@intel.com>,
	"devel@edk2.groups.io" <devel@edk2.groups.io>
Cc: "Chiu, Chasel" <chasel.chiu@intel.com>,
	Liming Gao <gaoliming@byosoft.com.cn>,
	"Dong, Eric" <eric.dong@intel.com>
Subject: Re: [edk2-devel][edk2-platforms][PATCH V1 09/11] MinPlatformPkg/SpifvbService: Publish FV based on board request
Date: Sat, 23 Oct 2021 00:31:59 +0000	[thread overview]
Message-ID: <MW4PR11MB5821119EF092A2BB6C9EF7F7CD819@MW4PR11MB5821.namprd11.prod.outlook.com> (raw)
In-Reply-To: <c890835cdadc3054384d8002591a1c6192ea4843.1634331939.git.isaac.w.oram@intel.com>

Hi Isaac,

Please update copyright year on SpiFvbServiceCommon.h, SpiFvbServiceCommon.c, SpiFvbServiceSmm.inf, SpiFvbServiceStandaloneMm.inf, and SpiFvbServiceMm.c

Thanks,
Nate

> -----Original Message-----
> From: Oram, Isaac W <isaac.w.oram@intel.com>
> Sent: Friday, October 15, 2021 2:26 PM
> To: devel@edk2.groups.io
> Cc: Chiu, Chasel <chasel.chiu@intel.com>; Desimone, Nathaniel L
> <nathaniel.l.desimone@intel.com>; Liming Gao
> <gaoliming@byosoft.com.cn>; Dong, Eric <eric.dong@intel.com>
> Subject: [edk2-devel][edk2-platforms][PATCH V1 09/11]
> MinPlatformPkg/SpifvbService: Publish FV based on board request
> 
> Change MM reporting to use ReportFvLib API ReportMmFv (); This removed
> the hardcoded table of FV to publish.
> Also removed the unused "default" table.
> 
> Cc: Chasel Chiu <chasel.chiu@intel.com>
> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> Cc: Eric Dong <eric.dong@intel.com>
> Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
> ---
> 
> Platform/Intel/MinPlatformPkg/Flash/SpiFvbService/SpiFvbServiceCommon.
> c         | 16 --------
> 
> Platform/Intel/MinPlatformPkg/Flash/SpiFvbService/SpiFvbServiceCommon.
> h         |  7 ----
>  Platform/Intel/MinPlatformPkg/Flash/SpiFvbService/SpiFvbServiceMm.c
> | 41 ++++++++++++--------
>  Platform/Intel/MinPlatformPkg/Flash/SpiFvbService/SpiFvbServiceSmm.inf
> |  1 +
> 
> Platform/Intel/MinPlatformPkg/Flash/SpiFvbService/SpiFvbServiceStandalon
> eMm.inf |  1 +
>  5 files changed, 27 insertions(+), 39 deletions(-)
> 
> diff --git
> a/Platform/Intel/MinPlatformPkg/Flash/SpiFvbService/SpiFvbServiceCommo
> n.c
> b/Platform/Intel/MinPlatformPkg/Flash/SpiFvbService/SpiFvbServiceComm
> on.c
> index 113c749d04..b8a255dbf4 100644
> ---
> a/Platform/Intel/MinPlatformPkg/Flash/SpiFvbService/SpiFvbServiceCommo
> n.c
> +++
> b/Platform/Intel/MinPlatformPkg/Flash/SpiFvbService/SpiFvbServiceCom
> +++ mon.c
> @@ -15,22 +15,6 @@ SPDX-License-Identifier: BSD-2-Clause-Patent  //
>  FVB_GLOBAL   mFvbModuleGlobal;
> 
> -//
> -// This platform driver knows there are multiple FVs on FD.
> -// Now we only provide FVs on Variable region and MicorCode region for
> performance issue.
> -//
> -FV_INFO mPlatformFvBaseAddress[] = {
> -  {0, 0}, // {FixedPcdGet32(PcdFlashNvStorageVariableBase),
> FixedPcdGet32(PcdFlashNvStorageVariableSize)},
> -  {0, 0}, // {FixedPcdGet32(PcdFlashFvMicrocodeBase),
> FixedPcdGet32(PcdFlashFvMicrocodeSize)},
> -  {0, 0}
> -};
> -
> -FV_INFO mPlatformDefaultBaseAddress[] = {
> -  {0, 0}, // {FixedPcdGet32(PcdFlashNvStorageVariableBase),
> FixedPcdGet32(PcdFlashNvStorageVariableSize)},
> -  {0, 0}, // {FixedPcdGet32(PcdFlashFvMicrocodeBase),
> FixedPcdGet32(PcdFlashFvMicrocodeSize)},
> -  {0, 0}
> -};
> -
>  FV_MEMMAP_DEVICE_PATH mFvMemmapDevicePathTemplate = {
>    {
>      {
> diff --git
> a/Platform/Intel/MinPlatformPkg/Flash/SpiFvbService/SpiFvbServiceCommo
> n.h
> b/Platform/Intel/MinPlatformPkg/Flash/SpiFvbService/SpiFvbServiceComm
> on.h
> index e9d69e9858..d1d61b124f 100644
> ---
> a/Platform/Intel/MinPlatformPkg/Flash/SpiFvbService/SpiFvbServiceCommo
> n.h
> +++
> b/Platform/Intel/MinPlatformPkg/Flash/SpiFvbService/SpiFvbServiceCom
> +++ mon.h
> @@ -71,11 +71,6 @@ typedef struct {
>    EFI_DEVICE_PATH_PROTOCOL    EndDevPath;
>  } FV_MEMMAP_DEVICE_PATH;
> 
> -typedef struct {
> -  UINT32              FvBase;
> -  UINT32              FvSize;
> -} FV_INFO;
> -
>  //
>  // Protocol APIs
>  //
> @@ -152,7 +147,5 @@ extern FVB_GLOBAL                         mFvbModuleGlobal;
>  extern FV_MEMMAP_DEVICE_PATH
> mFvMemmapDevicePathTemplate;
>  extern FV_PIWG_DEVICE_PATH                mFvPIWGDevicePathTemplate;
>  extern EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL
> mFvbProtocolTemplate;
> -extern FV_INFO                            mPlatformFvBaseAddress[];
> -extern FV_INFO                            mPlatformDefaultBaseAddress[];
> 
>  #endif
> diff --git
> a/Platform/Intel/MinPlatformPkg/Flash/SpiFvbService/SpiFvbServiceMm.c
> b/Platform/Intel/MinPlatformPkg/Flash/SpiFvbService/SpiFvbServiceMm.c
> index 016f19587c..1d8d55b8f2 100644
> ---
> a/Platform/Intel/MinPlatformPkg/Flash/SpiFvbService/SpiFvbServiceMm.c
> +++
> b/Platform/Intel/MinPlatformPkg/Flash/SpiFvbService/SpiFvbServiceMm.
> +++ c
> @@ -11,6 +11,7 @@
>  #include "SpiFvbServiceCommon.h"
>  #include <Library/MmServicesTableLib.h>  #include
> <Library/UefiDriverEntryPoint.h>
> +#include <Library/ReportFvLib.h>
>  #include <Protocol/SmmFirmwareVolumeBlock.h>
> 
>  /**
> @@ -97,8 +98,12 @@ InstallFvbProtocol (
>    The function does the necessary initialization work for
>    Firmware Volume Block Driver.
> 
> +  @param VOID
> +
> +  @retval EFI_SUCCESS             The driver initialized successfully.
> +  @retval EFI_UNSUPPORTED         The driver failed to initialize properly.
>  **/
> -VOID
> +EFI_STATUS
>  FvbInitialize (
>    VOID
>    )
> @@ -113,15 +118,17 @@ FvbInitialize (
>    UINT32                                MaxLbaSize;
>    UINT32                                BytesWritten;
>    UINTN                                 BytesErased;
> +  FV_INFO                               *BoardFvInfoTablePtr;
> 
> -  mPlatformFvBaseAddress[0].FvBase =
> PcdGet32(PcdFlashNvStorageVariableBase);
> -  mPlatformFvBaseAddress[0].FvSize =
> PcdGet32(PcdFlashNvStorageVariableSize);
> -  mPlatformFvBaseAddress[1].FvBase =
> PcdGet32(PcdFlashFvMicrocodeBase);
> -  mPlatformFvBaseAddress[1].FvSize =
> PcdGet32(PcdFlashFvMicrocodeSize);
> -  mPlatformDefaultBaseAddress[0].FvBase =
> PcdGet32(PcdFlashNvStorageVariableBase);
> -  mPlatformDefaultBaseAddress[0].FvSize =
> PcdGet32(PcdFlashNvStorageVariableSize);
> -  mPlatformDefaultBaseAddress[1].FvBase =
> PcdGet32(PcdFlashFvMicrocodeBase);
> -  mPlatformDefaultBaseAddress[1].FvSize =
> PcdGet32(PcdFlashFvMicrocodeSize);
> +  //
> +  // Retrieve the FV Info from the board library  //
> + BoardFvInfoTablePtr = NULL;  ReportMmFv (&BoardFvInfoTablePtr);  if
> + (!BoardFvInfoTablePtr) {
> +    ASSERT (BoardFvInfoTablePtr != NULL);
> +    return EFI_UNSUPPORTED;
> +  }
> 
>    //
>    // We will only continue with FVB installation if the @@ -132,11 +139,11 @@
> FvbInitialize (
>      // Make sure all FVB are valid and/or fix if possible
>      //
>      for (Idx = 0;; Idx++) {
> -      if (mPlatformFvBaseAddress[Idx].FvSize == 0 &&
> mPlatformFvBaseAddress[Idx].FvBase == 0) {
> +      if (BoardFvInfoTablePtr[Idx].FvSize == 0 &&
> + BoardFvInfoTablePtr[Idx].FvBase == 0) {
>          break;
>        }
> 
> -      BaseAddress = mPlatformFvBaseAddress[Idx].FvBase;
> +      BaseAddress = BoardFvInfoTablePtr[Idx].FvBase;
>        FvHeader = (EFI_FIRMWARE_VOLUME_HEADER *) (UINTN) BaseAddress;
> 
>        if (!IsFvHeaderValid (BaseAddress, FvHeader)) { @@ -192,10 +199,10 @@
> FvbInitialize (
>      //
>      BufferSize = 0;
>      for (Idx = 0; ; Idx++) {
> -      if (mPlatformFvBaseAddress[Idx].FvSize == 0 &&
> mPlatformFvBaseAddress[Idx].FvBase == 0) {
> +      if (BoardFvInfoTablePtr[Idx].FvSize == 0 &&
> + BoardFvInfoTablePtr[Idx].FvBase == 0) {
>          break;
>        }
> -      BaseAddress = mPlatformFvBaseAddress[Idx].FvBase;
> +      BaseAddress = BoardFvInfoTablePtr[Idx].FvBase;
>        FvHeader = (EFI_FIRMWARE_VOLUME_HEADER *) (UINTN) BaseAddress;
> 
>        if (!IsFvHeaderValid (BaseAddress, FvHeader)) { @@ -212,7 +219,7 @@
> FvbInitialize (
>      mFvbModuleGlobal.FvbInstance =  (EFI_FVB_INSTANCE *)
> AllocateRuntimeZeroPool (BufferSize);
>      if (mFvbModuleGlobal.FvbInstance == NULL) {
>        ASSERT (FALSE);
> -      return;
> +      return EFI_SUCCESS;
>      }
> 
>      MaxLbaSize      = 0;
> @@ -220,10 +227,10 @@ FvbInitialize (
>      mFvbModuleGlobal.NumFv   = 0;
> 
>      for (Idx = 0; ; Idx++) {
> -      if (mPlatformFvBaseAddress[Idx].FvSize == 0 &&
> mPlatformFvBaseAddress[Idx].FvBase == 0) {
> +      if (BoardFvInfoTablePtr[Idx].FvSize == 0 &&
> + BoardFvInfoTablePtr[Idx].FvBase == 0) {
>          break;
>        }
> -      BaseAddress = mPlatformFvBaseAddress[Idx].FvBase;
> +      BaseAddress = BoardFvInfoTablePtr[Idx].FvBase;
>        FvHeader = (EFI_FIRMWARE_VOLUME_HEADER *) (UINTN) BaseAddress;
> 
>        if (!IsFvHeaderValid (BaseAddress, FvHeader)) { @@ -268,4 +275,6 @@
> FvbInitialize (
> 
>      }
>    }
> +
> +  return EFI_SUCCESS;
>  }
> diff --git
> a/Platform/Intel/MinPlatformPkg/Flash/SpiFvbService/SpiFvbServiceSmm.in
> f
> b/Platform/Intel/MinPlatformPkg/Flash/SpiFvbService/SpiFvbServiceSmm.in
> f
> index 10e51e1175..7b69bedcdc 100644
> ---
> a/Platform/Intel/MinPlatformPkg/Flash/SpiFvbService/SpiFvbServiceSmm.in
> f
> +++
> b/Platform/Intel/MinPlatformPkg/Flash/SpiFvbService/SpiFvbServiceSmm
> +++ .inf
> @@ -34,6 +34,7 @@
>    UefiDriverEntryPoint
>    SpiFlashCommonLib
>    MmServicesTableLib
> +  ReportFvLib
> 
>  [Packages]
>    MdePkg/MdePkg.dec
> diff --git
> a/Platform/Intel/MinPlatformPkg/Flash/SpiFvbService/SpiFvbServiceStandal
> oneMm.inf
> b/Platform/Intel/MinPlatformPkg/Flash/SpiFvbService/SpiFvbServiceStandal
> oneMm.inf
> index 9f08d3673f..1dfb2520e7 100644
> ---
> a/Platform/Intel/MinPlatformPkg/Flash/SpiFvbService/SpiFvbServiceStandal
> oneMm.inf
> +++ b/Platform/Intel/MinPlatformPkg/Flash/SpiFvbService/SpiFvbServiceSta
> +++ ndaloneMm.inf
> @@ -33,6 +33,7 @@
>    MmServicesTableLib
>    SpiFlashCommonLib
>    StandaloneMmDriverEntryPoint
> +  ReportFvLib
> 
>  [Packages]
>    MdePkg/MdePkg.dec
> --
> 2.27.0.windows.1


  reply	other threads:[~2021-10-23  0:32 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-15 21:25 [edk2-devel][edk2-platforms][PATCH V1 00/11] Enable board customization of SMM FV reporting Oram, Isaac W
2021-10-15 21:25 ` [edk2-devel][edk2-platforms][PATCH V1 01/11] MinPlatformPkg/ReportFvLib: Add ReportMmFv to API Oram, Isaac W
2021-10-23  0:30   ` Nate DeSimone
2021-10-15 21:25 ` [edk2-devel][edk2-platforms][PATCH V1 02/11] CometlakeOpenBoardPkg/ReportFvLib: Switch to new library instances Oram, Isaac W
2021-10-23  0:31   ` Nate DeSimone
2021-10-23  1:32   ` Chaganty, Rangasai V
2021-10-25 19:32   ` Kathappan Esakkithevar
2021-10-15 21:25 ` [edk2-devel][edk2-platforms][PATCH V1 03/11] KabyOpenBoardPkg/ReportFvLib: " Oram, Isaac W
2021-10-23  0:31   ` Nate DeSimone
2021-10-15 21:25 ` [edk2-devel][edk2-platforms][PATCH V1 04/11] TigerLakeOpenBoardPkg/ReportFvLib: " Oram, Isaac W
2021-10-23  0:31   ` Nate DeSimone
2021-10-23  1:31   ` Chaganty, Rangasai V
2021-10-15 21:25 ` [edk2-devel][edk2-platforms][PATCH V1 05/11] WhiskeyLakeOpenBoardPkg/ReportFvLib: " Oram, Isaac W
2021-10-23  0:31   ` Nate DeSimone
2021-10-15 21:25 ` [edk2-devel][edk2-platforms][PATCH V1 06/11] WhitleyOpenBoardPkg/ReportFvLib: Add board support for custom MM FV Oram, Isaac W
2021-10-23  0:31   ` Nate DeSimone
2021-10-15 21:25 ` [edk2-devel][edk2-platforms][PATCH V1 07/11] PurleyOpenBoardPkg/ReportFvLib: Update ReportFvLib Oram, Isaac W
2021-10-23  0:31   ` Nate DeSimone
2021-10-15 21:25 ` [edk2-devel][edk2-platforms][PATCH V1 08/11] SimicsOpenBoardPkg/ReportFvLib: " Oram, Isaac W
2021-10-23  0:31   ` Nate DeSimone
2021-10-15 21:25 ` [edk2-devel][edk2-platforms][PATCH V1 09/11] MinPlatformPkg/SpifvbService: Publish FV based on board request Oram, Isaac W
2021-10-23  0:31   ` Nate DeSimone [this message]
2021-10-15 21:25 ` [edk2-devel][edk2-platforms][PATCH V1 10/11] MinPlatformPkg/SpiFvbService: Reduce duplicate code Oram, Isaac W
2021-10-23  0:32   ` Nate DeSimone
2021-10-15 21:25 ` [edk2-devel][edk2-platforms][PATCH V1 11/11] MinPlatformPkg/ReportFvLib: Remove obsolete PeiReportFvLib instance Oram, Isaac W
2021-10-23  0:32   ` Nate DeSimone
     [not found] ` <16AE5156F40A3986.24927@groups.io>
2021-10-23  1:34   ` [edk2-devel][edk2-platforms][PATCH V1 08/11] SimicsOpenBoardPkg/ReportFvLib: Update ReportFvLib Chaganty, Rangasai V
     [not found] ` <16AE515652C6739A.24927@groups.io>
2021-10-23  1:35   ` [edk2-devel][edk2-platforms][PATCH V1 05/11] WhiskeyLakeOpenBoardPkg/ReportFvLib: Switch to new library instances Chaganty, Rangasai V
     [not found] ` <16AE51563C375254.13161@groups.io>
2021-10-23  1:36   ` [edk2-devel][edk2-platforms][PATCH V1 03/11] KabyOpenBoardPkg/ReportFvLib: " Chaganty, Rangasai V
     [not found] ` <16AE5156E9B772C6.11150@groups.io>
2021-10-23  1:40   ` [edk2-devel][edk2-platforms][PATCH V1 11/11] MinPlatformPkg/ReportFvLib: Remove obsolete PeiReportFvLib instance Chaganty, Rangasai V

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=MW4PR11MB5821119EF092A2BB6C9EF7F7CD819@MW4PR11MB5821.namprd11.prod.outlook.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox