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]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to