Reviewed-by: Chasel Chiu <chasel.c...@intel.com>
> -----Original Message----- > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Kubacki, > Michael A > Sent: Thursday, November 28, 2019 9:06 AM > To: devel@edk2.groups.io > Cc: Chiu, Chasel <chasel.c...@intel.com>; Desimone, Nathaniel L > <nathaniel.l.desim...@intel.com>; Gao, Liming <liming....@intel.com> > Subject: [edk2-devel] [edk2-platforms][PATCH V2 29/47] MinPlatformPkg: Add > FvAdvancedPreMemory > > 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 <chasel.c...@intel.com> > Cc: Nate DeSimone <nathaniel.l.desim...@intel.com> > Cc: Liming Gao <liming....@intel.com> > Signed-off-by: Michael Kubacki <michael.a.kuba...@intel.com> > --- > Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec > | 3 ++ > > Platform/Intel/MinPlatformPkg/PlatformInit/Library/PeiReportFvLib/PeiRepo > rtFvLib.inf | 42 ++++++++++---------- > > Platform/Intel/MinPlatformPkg/PlatformInit/Library/PeiReportFvLib/PeiRepo > rtFvLib.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|0x00000000|UINT > 32|0x20000010 > > gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecuritySize|0x00000000|UINT3 > 2|0x20000011 > > gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecurityOffset|0x00000000|UIN > T32|0x20000012 > + > + > gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedPreMemoryBase|0x00 > 0000 > + 00|UINT32|0x2000002D > + > gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedPreMemorySize|0x000 > 000 > + 00|UINT32|0x2000002E > + > gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedPreMemoryOffset|0x0 > 000 > + 0000|UINT32|0x2000002F > > gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedBase|0x00000000|UIN > T32|0x20000013 > > gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedSize|0x00000000|UIN > T32|0x20000014 > > gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedOffset|0x00000000|UI > NT32|0x20000015 > diff --git > a/Platform/Intel/MinPlatformPkg/PlatformInit/Library/PeiReportFvLib/PeiRe > portFvLib.inf > b/Platform/Intel/MinPlatformPkg/PlatformInit/Library/PeiReportFvLib/PeiRe > portFvLib.inf > index 4d96c9cf31..1ce3034fcc 100644 > --- > a/Platform/Intel/MinPlatformPkg/PlatformInit/Library/PeiReportFvLib/PeiRe > portFvLib.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.<BR> > +# Copyright (c) 2018 - 2019, Intel Corporation. All rights > +reserved.<BR> > # > # 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 > + 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.PcdFlashFvAdvancedPreMemoryBase > ## CONSUMES > + gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedPreMemorySize > ## CONSUMES > + gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedBase > ## CONSUMES > + gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedSize > ## CONSUMES > diff --git > a/Platform/Intel/MinPlatformPkg/PlatformInit/Library/PeiReportFvLib/PeiRe > portFvLib.c > b/Platform/Intel/MinPlatformPkg/PlatformInit/Library/PeiReportFvLib/PeiRe > portFvLib.c > index 6e49b1239d..b61587f6e3 100644 > --- > a/Platform/Intel/MinPlatformPkg/PlatformInit/Library/PeiReportFvLib/PeiRe > portFvLib.c > +++ b/Platform/Intel/MinPlatformPkg/PlatformInit/Library/PeiReportFvLib/ > +++ PeiReportFvLib.c > @@ -1,7 +1,7 @@ > /** @file > Source code file for Report Firmware Volume (FV) library > > -Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> > +Copyright (c) 2018 - 2019, Intel Corporation. All rights reserved.<BR> > SPDX-License-Identifier: BSD-2-Clause-Patent > > **/ > @@ -40,11 +40,16 @@ ReportPreMemFv ( > NULL, > 0 > ); > - DEBUG ((DEBUG_INFO, "Install FlashFvAdvanced - 0x%x, 0x%x\n", > PcdGet32 (PcdFlashFvAdvancedBase), PcdGet32 (PcdFlashFvAdvancedSize))); > + DEBUG (( > + DEBUG_INFO, > + "Install FlashFvAdvancedPreMemory - 0x%x, 0x%x\n", > + PcdGet32 (PcdFlashFvAdvancedPreMemoryBase), > + PcdGet32 (PcdFlashFvAdvancedPreMemorySize) > + )); > PeiServicesInstallFvInfo2Ppi ( > - &(((EFI_FIRMWARE_VOLUME_HEADER *) (UINTN) PcdGet32 > (PcdFlashFvAdvancedBase))->FileSystemGuid), > - (VOID *) (UINTN) PcdGet32 (PcdFlashFvAdvancedBase), > - PcdGet32 (PcdFlashFvAdvancedSize), > + &(((EFI_FIRMWARE_VOLUME_HEADER *) (UINTN) PcdGet32 > (PcdFlashFvAdvancedPreMemoryBase))->FileSystemGuid), > + (VOID *) (UINTN) PcdGet32 (PcdFlashFvAdvancedPreMemoryBase), > + PcdGet32 (PcdFlashFvAdvancedPreMemorySize), > NULL, > NULL, > 0 > @@ -117,6 +122,15 @@ 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 > + ); > } > > // > -- > 2.16.2.windows.1 > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#51490): https://edk2.groups.io/g/devel/message/51490 Mute This Topic: https://groups.io/mt/63459363/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-