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
next prev parent 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