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 01/11] MinPlatformPkg/ReportFvLib: Add ReportMmFv to API
Date: Sat, 23 Oct 2021 00:30:58 +0000	[thread overview]
Message-ID: <MW4PR11MB58217048ACE33E43B525ED2ACD819@MW4PR11MB5821.namprd11.prod.outlook.com> (raw)
In-Reply-To: <56e26f25e6f8df6c5d4bf6a4a6f0361dc915fad1.1634331939.git.isaac.w.oram@intel.com>

Hi Isaac,

Please see feedback inline.

Thanks,
Nate

> -----Original Message-----
> From: Oram, Isaac W <isaac.w.oram@intel.com>
> Sent: Friday, October 15, 2021 2:25 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 01/11]
> MinPlatformPkg/ReportFvLib: Add ReportMmFv to API
> 
> Add ReportMmFv (); API for enabling boards to publish additional regions for
> MM driver use.
> This results in different instances of the library for PEI and MM.
> Added MinPlatformPkg library instances to the CorePeiLib.dsc and
> CoreDxeLib.dsc as the default library instances.
> 
> 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/Include/Dsc/CoreDxeLib.dsc                          |
> 2 +
>  Platform/Intel/MinPlatformPkg/Include/Dsc/CorePeiLib.dsc                          |   1
> +
>  Platform/Intel/MinPlatformPkg/Include/Library/ReportFvLib.h                       |
> 18 ++-
>  Platform/Intel/MinPlatformPkg/MinPlatformPkg.dsc                                  |   9 +-
> 
> Platform/Intel/MinPlatformPkg/PlatformInit/Library/ReportFvLib/ReportFvLi
> bMm.c    |  53 +++++++
> 
> Platform/Intel/MinPlatformPkg/PlatformInit/Library/ReportFvLib/ReportFvLi
> bMm.inf  |  33 +++++
> 
> Platform/Intel/MinPlatformPkg/PlatformInit/Library/ReportFvLib/ReportFvLi
> bPei.c   | 146 ++++++++++++++++++++
> 
> Platform/Intel/MinPlatformPkg/PlatformInit/Library/ReportFvLib/ReportFvLi
> bPei.inf |  50 +++++++
>  8 files changed, 307 insertions(+), 5 deletions(-)
> 
> diff --git a/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
> b/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
> index 209ccdaf54..0127ca7641 100644
> --- a/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
> +++ b/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
> @@ -96,6 +96,8 @@
>    BaseCryptLib|CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
> 
> VariableReadLib|MinPlatformPkg/Library/SmmVariableReadLib/TraditionalM
> mVariableReadLib.inf
> 
> VariableWriteLib|MinPlatformPkg/Library/SmmVariableWriteLib/Traditional
> MmVariableWriteLib.inf
> +
> + ReportFvLib|MinPlatformPkg/PlatformInit/Library/ReportFvLib/ReportFvLi
> + bMm.inf
> +
> 
>  [LibraryClasses.common.SMM_CORE]
>    PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
> diff --git a/Platform/Intel/MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
> b/Platform/Intel/MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
> index c12189bd9a..da4d0d6a1a 100644
> --- a/Platform/Intel/MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
> +++ b/Platform/Intel/MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
> @@ -73,3 +73,4 @@
> 
> PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanc
> eLib.inf
>  !endif
> 
> VariableReadLib|MinPlatformPkg/Library/PeiVariableReadLib/PeiVariableRe
> adLib.inf
> +
> + ReportFvLib|MinPlatformPkg/PlatformInit/Library/ReportFvLib/ReportFvLi
> + bPei.inf
> diff --git a/Platform/Intel/MinPlatformPkg/Include/Library/ReportFvLib.h
> b/Platform/Intel/MinPlatformPkg/Include/Library/ReportFvLib.h
> index 5c40bd0e6e..ba76728add 100644
> --- a/Platform/Intel/MinPlatformPkg/Include/Library/ReportFvLib.h
> +++ b/Platform/Intel/MinPlatformPkg/Include/Library/ReportFvLib.h
> @@ -4,7 +4,7 @@
> 
>    This library installs pre-memory and post-memory firmware volumes.
> 
> -Copyright (c) 2018, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) 2018 - 2021, Intel Corporation. All rights reserved.<BR>
>  SPDX-License-Identifier: BSD-2-Clause-Patent
> 
>  **/
> @@ -15,6 +15,15 @@ SPDX-License-Identifier: BSD-2-Clause-Patent  #include
> <PiPei.h>  #include <Uefi.h>
> 
> +//
> +// This is used by board code to produce a table of FV to publish for MM
> use.
> +// The end of the table is indicated by base and size both equal to zero.
> +//
> +typedef struct {
> +  UINT32              FvBase;

Please make FvBase a EFI_PHYSICAL_ADDRESS instead of a UINT32.

> +  UINT32              FvSize;

Please make FvSize a UINT64 instead of a UINT32.

> +} FV_INFO;
> +
>  VOID
>  ReportPreMemFv (
>    VOID
> @@ -25,4 +34,9 @@ ReportPostMemFv (
>    VOID
>    );
> 
> -#endif
> \ No newline at end of file

The purpose of this function is a bit different than the purpose of the other functions. The other functions in this LibraryClass are used to install FV_INFO_PPIs to inform the core of the existence of root firmware volumes. This function is used to inform the MinPlatform FVB driver of which firmware volumes should have a firmware volume block I/O instance installed. This is quite different since the main purpose of installed FVB instances is to enable a firmware volume to be written to.

In light of this, please rename this function to GetFvToFvbMap().

In addition, please document the new function. Something like this would be sufficient:

/**
  List the Firmware Volumes which the FVB driver should create SMM FVB protocol instances for.

  @param[in]  FvInfoTable   The FV Base and Size that should have Firmware Volume Block I/O enabled for
**/

> +VOID
> +ReportMmFv (
> +  FV_INFO **FvInfoTable
> +  );
> +
> +#endif
> diff --git a/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dsc
> b/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dsc
> index a09f8db3ab..1dfca06a10 100644
> --- a/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dsc
> +++ b/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dsc
> @@ -107,8 +107,10 @@
> 
> TestPointCheckLib|MinPlatformPkg/Test/Library/TestPointCheckLib/DxeTes
> tPointCheckLib.inf
> 
> TestPointLib|MinPlatformPkg/Test/Library/TestPointLib/DxeTestPointLib.inf
> 
> +[LibraryClasses.common.DXE_SMM_DRIVER,
> +LibraryClasses.common.MM_STANDALONE]
> +
> +SpiFlashCommonLib|MinPlatformPkg/Flash/Library/SpiFlashCommonLibNul
> l/Sp
> +iFlashCommonLibNull.inf
> +
>  [LibraryClasses.common.DXE_SMM_DRIVER]
> -
> SpiFlashCommonLib|MinPlatformPkg/Flash/Library/SpiFlashCommonLibNull/
> SpiFlashCommonLibNull.inf
> 
> TestPointCheckLib|MinPlatformPkg/Test/Library/TestPointCheckLib/SmmTe
> stPointCheckLib.inf
> 
> TestPointLib|MinPlatformPkg/Test/Library/TestPointLib/SmmTestPointLib.in
> f
> 
> @@ -117,7 +119,6 @@
> 
> MemoryAllocationLib|StandaloneMmPkg/Library/StandaloneMmMemoryAll
> ocationLib/StandaloneMmMemoryAllocationLib.inf
> 
> MmServicesTableLib|MdePkg/Library/StandaloneMmServicesTableLib/Stan
> daloneMmServicesTableLib.inf
>    PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
> -
> SpiFlashCommonLib|MinPlatformPkg/Flash/Library/SpiFlashCommonLibNull/
> SpiFlashCommonLibNull.inf
> 
> StandaloneMmDriverEntryPoint|MdePkg/Library/StandaloneMmDriverEntry
> Point/StandaloneMmDriverEntryPoint.inf
> 
> VariableReadLib|MinPlatformPkg/Library/SmmVariableReadLib/Standalone
> MmVariableReadLib.inf
> 
> VariableWriteLib|MinPlatformPkg/Library/SmmVariableWriteLib/Standalone
> MmVariableWriteLib.inf
> @@ -189,7 +190,9 @@
>    MinPlatformPkg/PlatformInit/Library/BoardInitLibNull/BoardInitLibNull.inf
> 
> MinPlatformPkg/PlatformInit/Library/MultiBoardInitSupportLib/PeiMultiBoar
> dInitSupportLib.inf
> 
> MinPlatformPkg/PlatformInit/Library/MultiBoardInitSupportLib/DxeMultiBoa
> rdInitSupportLib.inf
> -  MinPlatformPkg/PlatformInit/Library/PeiReportFvLib/PeiReportFvLib.inf
> +  MinPlatformPkg/PlatformInit/Library/ReportFvLib/ReportFvLibPei.inf
> +  MinPlatformPkg/PlatformInit/Library/ReportFvLib/ReportFvLibMm.inf
> +
> 
> MinPlatformPkg/PlatformInit/Library/ReportCpuHobLib/ReportCpuHobLib.in
> f
>    MinPlatformPkg/PlatformInit/SiliconPolicyPei/SiliconPolicyPeiPreMem.inf
>    MinPlatformPkg/PlatformInit/SiliconPolicyPei/SiliconPolicyPeiPostMem.inf
> diff --git
> a/Platform/Intel/MinPlatformPkg/PlatformInit/Library/ReportFvLib/ReportF
> vLibMm.c
> b/Platform/Intel/MinPlatformPkg/PlatformInit/Library/ReportFvLib/ReportF
> vLibMm.c
> new file mode 100644
> index 0000000000..a6339d130d
> --- /dev/null
> +++ b/Platform/Intel/MinPlatformPkg/PlatformInit/Library/ReportFvLib/Rep
> +++ ortFvLibMm.c
> @@ -0,0 +1,53 @@
> +/** @file
> +  Source code file for Report Firmware Volume (FV) library management
> +mode functionality
> +
> +  ReportPreMemFv (); is not supported by this libary instance
> + ReportPostMemFv (); is not supported by this libary instance
> +
> +  Copyright (c) 2018 - 2021, Intel Corporation. All rights
> + reserved.<BR>
> +
> +  SPDX-License-Identifier: BSD-2-Clause-Patent **/
> +
> +#include <Base.h>
> +#include <Library/DebugLib.h>
> +#include <Library/ReportFvLib.h>
> +#include <Guid/FirmwareFileSystem2.h>
> +#include <Ppi/FirmwareVolumeInfo.h>
> +
> +//
> +// This platform driver knows there are multiple FVs on FD.
> +//  Variable region and MicroCode region are required.
> +//
> +FV_INFO mBoardFvInfoTable[] = {
> +  {0, 0}, // {PcdGet32 (PcdFlashNvStorageVariableBase), PcdGet32
> +(PcdFlashNvStorageVariableSize)},
> +  {0, 0}, // {PcdGet32 (PcdFlashFvMicrocodeBase), PcdGet32
> +(PcdFlashFvMicrocodeSize)},
> +  {0, 0}
> +};
> +
> +/*
> +  Return the firmware volumes that are needed for MM functionality.
> +  NV storage and microcode FV are required.
> +
> +  @param FvInfoTable    Pointer to table of FV to be published
> +
> +  @return VOID
> +*/
> +VOID
> +ReportMmFv (
> +  FV_INFO **FvInfoTable
> +  )
> +{
> +  mBoardFvInfoTable[0].FvBase = PcdGet32
> +(PcdFlashNvStorageVariableBase);
> +  mBoardFvInfoTable[0].FvSize = PcdGet32
> +(PcdFlashNvStorageVariableSize);
> +  mBoardFvInfoTable[1].FvBase = PcdGet32 (PcdFlashFvMicrocodeBase);
> +  mBoardFvInfoTable[1].FvSize = PcdGet32 (PcdFlashFvMicrocodeSize);
> +
> +  DEBUG ((DEBUG_INFO, "MM FvInfo Table:\nNvStorageVariableBase
> + 0x%X\nMicrocodeBase 0x%X\n", mBoardFvInfoTable[0].FvBase,
> + mBoardFvInfoTable[1].FvBase, mBoardFvInfoTable[2].FvBase));  ASSERT
> + (mBoardFvInfoTable[0].FvBase != 0);  ASSERT
> + (mBoardFvInfoTable[0].FvSize != 0);  ASSERT
> + (mBoardFvInfoTable[1].FvBase != 0);  ASSERT
> + (mBoardFvInfoTable[1].FvSize != 0);
> +
> +  *FvInfoTable = &mBoardFvInfoTable[0]; }
> diff --git
> a/Platform/Intel/MinPlatformPkg/PlatformInit/Library/ReportFvLib/ReportF
> vLibMm.inf
> b/Platform/Intel/MinPlatformPkg/PlatformInit/Library/ReportFvLib/ReportF
> vLibMm.inf
> new file mode 100644
> index 0000000000..41268f179e
> --- /dev/null
> +++ b/Platform/Intel/MinPlatformPkg/PlatformInit/Library/ReportFvLib/Rep
> +++ ortFvLibMm.inf
> @@ -0,0 +1,33 @@
> +### @file
> +# Component information file for the Report Firmware Volume (FV) library.
> +#
> +# Copyright (c) 2018 - 2021, Intel Corporation. All rights
> +reserved.<BR> # # SPDX-License-Identifier: BSD-2-Clause-Patent # ###
> +
> +[Defines]
> +  INF_VERSION                    = 0x00010017
> +  BASE_NAME                      = ReportFvLibMm
> +  FILE_GUID                      = 57c12e02-a65f-4994-bd76-bb6e3fd14df4
> +  VERSION_STRING                 = 1.0
> +  MODULE_TYPE                    = BASE
> +  LIBRARY_CLASS                  = ReportFvLib | DXE_SMM_DRIVER
> MM_STANDALONE
> +
> +[LibraryClasses]
> +  DebugLib
> +
> +[Packages]
> +  MdePkg/MdePkg.dec
> +  MdeModulePkg/MdeModulePkg.dec
> +  MinPlatformPkg/MinPlatformPkg.dec
> +
> +[Sources]
> +  ReportFvLibMm.c
> +
> +[Pcd]
> +  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase    ##
> CONSUMES
> +  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize    ##
> CONSUMES
> +  gMinPlatformPkgTokenSpaceGuid.PcdFlashFvMicrocodeBase           ##
> CONSUMES
> +  gMinPlatformPkgTokenSpaceGuid.PcdFlashFvMicrocodeSize           ##
> CONSUMES
> diff --git
> a/Platform/Intel/MinPlatformPkg/PlatformInit/Library/ReportFvLib/ReportF
> vLibPei.c
> b/Platform/Intel/MinPlatformPkg/PlatformInit/Library/ReportFvLib/ReportF
> vLibPei.c
> new file mode 100644
> index 0000000000..7fb755266d
> --- /dev/null
> +++ b/Platform/Intel/MinPlatformPkg/PlatformInit/Library/ReportFvLib/Rep
> +++ ortFvLibPei.c
> @@ -0,0 +1,146 @@
> +/** @file
> +  Source code file for Report Firmware Volume (FV) library
> +
> +  ReportMmFv (); is not supported in this library instance
> +
> +  @copyright
> +  Copyright (c) 2018 - 2021, Intel Corporation. All rights
> + reserved.<BR>
> +
> +  SPDX-License-Identifier: BSD-2-Clause-Patent **/
> +
> +#include <Base.h>
> +#include <Library/BaseMemoryLib.h>
> +#include <Library/DebugLib.h>
> +#include <Library/HobLib.h>
> +#include <Library/PeiServicesLib.h>
> +#include <Library/ReportFvLib.h>
> +#include <Guid/FirmwareFileSystem2.h>
> +#include <Ppi/FirmwareVolumeInfo.h>
> +
> +VOID
> +ReportPreMemFv (
> +  VOID
> +  )
> +{
> +  ///
> +  /// Note : FSP FVs except FSP-T FV are installed in IntelFsp2WrapperPkg in
> Dispatch mode.
> +  ///
> +  if (PcdGetBool(PcdFspWrapperBootMode)) {
> +    DEBUG ((DEBUG_INFO, "Install FlashFvFspT - 0x%x, 0x%x\n", PcdGet32
> (PcdFlashFvFspTBase), PcdGet32 (PcdFlashFvFspTSize)));
> +    PeiServicesInstallFvInfo2Ppi (
> +      &(((EFI_FIRMWARE_VOLUME_HEADER *) (UINTN) PcdGet32
> (PcdFlashFvFspTBase))->FileSystemGuid),
> +      (VOID *) (UINTN) PcdGet32 (PcdFlashFvFspTBase),
> +      PcdGet32 (PcdFlashFvFspTSize),
> +      NULL,
> +      NULL,
> +      0
> +      );
> +  }
> +  DEBUG ((DEBUG_INFO, "Install FlashFvSecurity - 0x%x, 0x%x\n",
> +PcdGet32 (PcdFlashFvSecurityBase), PcdGet32 (PcdFlashFvSecuritySize)));
> +  PeiServicesInstallFvInfo2Ppi (
> +    &(((EFI_FIRMWARE_VOLUME_HEADER *) (UINTN) PcdGet32
> (PcdFlashFvSecurityBase))->FileSystemGuid),
> +    (VOID *) (UINTN) PcdGet32 (PcdFlashFvSecurityBase),
> +    PcdGet32 (PcdFlashFvSecuritySize),
> +    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
> +ReportPostMemFv (
> +  VOID
> +  )
> +{
> +  EFI_STATUS                    Status;
> +  EFI_BOOT_MODE                 BootMode;
> +
> +  Status = PeiServicesGetBootMode (&BootMode);  ASSERT_EFI_ERROR
> + (Status);
> +
> +  ///
> +  /// Note : FSP FVs except FSP-T FV are installed in IntelFsp2WrapperPkg in
> Dispatch mode.
> +  ///
> +
> +  ///
> +  /// Build HOB for DXE
> +  ///
> +  if (BootMode == BOOT_IN_RECOVERY_MODE) {
> +    ///
> +    /// Prepare the recovery service
> +    ///
> +  } else {
> +    DEBUG ((DEBUG_INFO, "Install FlashFvPostMemory - 0x%x, 0x%x\n",
> PcdGet32 (PcdFlashFvPostMemoryBase), PcdGet32
> (PcdFlashFvPostMemorySize)));
> +    PeiServicesInstallFvInfo2Ppi (
> +      &(((EFI_FIRMWARE_VOLUME_HEADER *) (UINTN) PcdGet32
> (PcdFlashFvPostMemoryBase))->FileSystemGuid),
> +      (VOID *) (UINTN) PcdGet32 (PcdFlashFvPostMemoryBase),
> +      PcdGet32 (PcdFlashFvPostMemorySize),
> +      NULL,
> +      NULL,
> +      0
> +      );
> +    DEBUG ((DEBUG_INFO, "Install FlashFvUefiBoot - 0x%x, 0x%x\n",
> PcdGet32 (PcdFlashFvUefiBootBase), PcdGet32 (PcdFlashFvUefiBootSize)));
> +    PeiServicesInstallFvInfo2Ppi (
> +      &(((EFI_FIRMWARE_VOLUME_HEADER *) (UINTN) PcdGet32
> (PcdFlashFvUefiBootBase))->FileSystemGuid),
> +      (VOID *) (UINTN) PcdGet32 (PcdFlashFvUefiBootBase),
> +      PcdGet32 (PcdFlashFvUefiBootSize),
> +      NULL,
> +      NULL,
> +      0
> +      );
> +    DEBUG ((DEBUG_INFO, "Install FlashFvOsBoot - 0x%x, 0x%x\n", PcdGet32
> (PcdFlashFvOsBootBase), PcdGet32 (PcdFlashFvOsBootSize)));
> +    PeiServicesInstallFvInfo2Ppi (
> +      &(((EFI_FIRMWARE_VOLUME_HEADER *) (UINTN) PcdGet32
> (PcdFlashFvOsBootBase))->FileSystemGuid),
> +      (VOID *) (UINTN) PcdGet32 (PcdFlashFvOsBootBase),
> +      PcdGet32 (PcdFlashFvOsBootSize),
> +      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
> +        );
> +    }
> +  }
> +
> +  //
> +  // Report resource HOB for flash FV
> +  //
> +  BuildResourceDescriptorHob (
> +    EFI_RESOURCE_MEMORY_MAPPED_IO,
> +    (EFI_RESOURCE_ATTRIBUTE_PRESENT    |
> +    EFI_RESOURCE_ATTRIBUTE_INITIALIZED |
> +    EFI_RESOURCE_ATTRIBUTE_UNCACHEABLE),
> +    (UINTN) PcdGet32 (PcdFlashAreaBaseAddress),
> +    (UINTN) PcdGet32 (PcdFlashAreaSize)
> +    );
> +  BuildMemoryAllocationHob (
> +    (UINTN) PcdGet32 (PcdFlashAreaBaseAddress),
> +    (UINTN) PcdGet32 (PcdFlashAreaSize),
> +    EfiMemoryMappedIO
> +    );
> +}
> diff --git
> a/Platform/Intel/MinPlatformPkg/PlatformInit/Library/ReportFvLib/ReportF
> vLibPei.inf
> b/Platform/Intel/MinPlatformPkg/PlatformInit/Library/ReportFvLib/ReportF
> vLibPei.inf
> new file mode 100644
> index 0000000000..fdb61347c4
> --- /dev/null
> +++ b/Platform/Intel/MinPlatformPkg/PlatformInit/Library/ReportFvLib/Rep
> +++ ortFvLibPei.inf
> @@ -0,0 +1,50 @@
> +### @file
> +# Component information file for the Report Firmware Volume (FV) library.
> +#
> +# Copyright (c) 2018 - 2021, Intel Corporation. All rights
> +reserved.<BR> # # SPDX-License-Identifier: BSD-2-Clause-Patent # ###
> +
> +[Defines]
> +  INF_VERSION                    = 0x00010017
> +  BASE_NAME                      = ReportFvLibPei
> +  FILE_GUID                      = 44328FA5-E4DD-4A15-ABDF-C6584AC363D9
> +  VERSION_STRING                 = 1.0
> +  MODULE_TYPE                    = PEIM
> +  LIBRARY_CLASS                  = ReportFvLib | PEIM
> +
> +[LibraryClasses]
> +  BaseMemoryLib
> +  DebugLib
> +  HobLib
> +  PeiServicesLib
> +
> +[Packages]
> +  MdePkg/MdePkg.dec
> +  MdeModulePkg/MdeModulePkg.dec
> +  MinPlatformPkg/MinPlatformPkg.dec
> +
> +[Sources]
> +  ReportFvLibPei.c
> +
> +[Pcd]
> +  gMinPlatformPkgTokenSpaceGuid.PcdBootStage                      ## CONSUMES
> +  gMinPlatformPkgTokenSpaceGuid.PcdFspWrapperBootMode             ##
> CONSUMES
> +  gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaBaseAddress           ##
> CONSUMES
> +  gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize                  ##
> CONSUMES
> +  gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspTBase                ##
> CONSUMES
> +  gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspTSize                ##
> 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.PcdFlashFvAdvancedPreMemoryBase
> ## CONSUMES
> +  gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedPreMemorySize
> ## CONSUMES
> +  gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedBase            ##
> CONSUMES
> +  gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedSize            ##
> CONSUMES
> --
> 2.27.0.windows.1


  reply	other threads:[~2021-10-23  0:31 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 [this message]
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
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=MW4PR11MB58217048ACE33E43B525ED2ACD819@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