Reviewed-by: Chasel Chiu <chasel.chiu@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.chiu@intel.com>; Desimone, Nathaniel L
> <nathaniel.l.desimone@intel.com>; Gao, Liming <liming.gao@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.chiu@intel.com>
> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
> Cc: Liming Gao <liming.gao@intel.com>
> Signed-off-by: Michael Kubacki <michael.a.kubacki@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/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-