From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by mx.groups.io with SMTP id smtpd.web09.5455.1575009838678586622 for ; Thu, 28 Nov 2019 22:43:58 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 134.134.136.31, mailfrom: chasel.chiu@intel.com) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 28 Nov 2019 22:43:58 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,256,1571727600"; d="scan'208";a="221521059" Received: from pgsmsx113.gar.corp.intel.com ([10.108.55.202]) by orsmga002.jf.intel.com with ESMTP; 28 Nov 2019 22:43:57 -0800 Received: from pgsmsx111.gar.corp.intel.com ([169.254.2.24]) by pgsmsx113.gar.corp.intel.com ([10.108.55.202]) with mapi id 14.03.0439.000; Fri, 29 Nov 2019 14:43:56 +0800 From: "Chiu, Chasel" To: "devel@edk2.groups.io" , "Kubacki, Michael A" CC: "Desimone, Nathaniel L" , "Gao, Liming" Subject: Re: [edk2-devel] [edk2-platforms][PATCH V2 29/47] MinPlatformPkg: Add FvAdvancedPreMemory Thread-Topic: [edk2-devel] [edk2-platforms][PATCH V2 29/47] MinPlatformPkg: Add FvAdvancedPreMemory Thread-Index: AQHVpYhQrNM6CkkmMUurEBt+WgI8KaehtaWg Date: Fri, 29 Nov 2019 06:43:55 +0000 Message-ID: <3C3EFB470A303B4AB093197B6777CCEC505B1F0D@PGSMSX111.gar.corp.intel.com> References: <20191128010614.43628-1-michael.a.kubacki@intel.com> <20191128010614.43628-30-michael.a.kubacki@intel.com> In-Reply-To: <20191128010614.43628-30-michael.a.kubacki@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiN2Q1MTkxYmUtYzcxNC00ZDZiLThmMDItODQwM2QwNTgzNWVlIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiWm4yRE5lU3M4Y1hucHhJdzJxVUV2QzlWZzhTbzE0bGZkVVl2SGVBMUNOU05EYWhlUlBYYVB4WE9ES2l0QTNzaiJ9 x-ctpclassification: CTP_NT x-originating-ip: [172.30.20.206] MIME-Version: 1.0 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Chasel Chiu > -----Original Message----- > From: 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 ; Desimone, Nathaniel L > ; Gao, Liming > Subject: [edk2-devel] [edk2-platforms][PATCH V2 29/47] MinPlatformPkg: A= dd > FvAdvancedPreMemory >=20 > 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. >=20 > 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 a= nd > FV installation process. >=20 > Cc: Chasel Chiu > Cc: Nate DeSimone > Cc: Liming Gao > Signed-off-by: Michael Kubacki > --- > Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec > | 3 ++ >=20 > Platform/Intel/MinPlatformPkg/PlatformInit/Library/PeiReportFvLib/PeiRep= o > rtFvLib.inf | 42 ++++++++++---------- >=20 > Platform/Intel/MinPlatformPkg/PlatformInit/Library/PeiReportFvLib/PeiRep= o > rtFvLib.c | 24 ++++++++--- > 3 files changed, 44 insertions(+), 25 deletions(-) >=20 > 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 >=20 > gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecurityBase|0x00000000|UINT > 32|0x20000010 >=20 > gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecuritySize|0x00000000|UINT3 > 2|0x20000011 >=20 > 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 >=20 > gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedBase|0x00000000|UIN > T32|0x20000013 >=20 > gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedSize|0x00000000|UIN > T32|0x20000014 >=20 > gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedOffset|0x00000000|UI > NT32|0x20000015 > diff --git > a/Platform/Intel/MinPlatformPkg/PlatformInit/Library/PeiReportFvLib/PeiR= e > portFvLib.inf > b/Platform/Intel/MinPlatformPkg/PlatformInit/Library/PeiReportFvLib/PeiR= e > portFvLib.inf > index 4d96c9cf31..1ce3034fcc 100644 > --- > a/Platform/Intel/MinPlatformPkg/PlatformInit/Library/PeiReportFvLib/PeiR= e > 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) librar= y. > # > -# Copyright (c) 2018, Intel Corporation. All rights reserved.
> +# Copyright (c) 2018 - 2019, Intel Corporation. All rights > +reserved.
> # > # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -30,22 +30,24 @@ > PeiReportFvLib.c >=20 > [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/PeiR= e > portFvLib.c > b/Platform/Intel/MinPlatformPkg/PlatformInit/Library/PeiReportFvLib/PeiR= e > portFvLib.c > index 6e49b1239d..b61587f6e3 100644 > --- > a/Platform/Intel/MinPlatformPkg/PlatformInit/Library/PeiReportFvLib/PeiR= e > 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 >=20 > -Copyright (c) 2018, Intel Corporation. All rights reserved.
> +Copyright (c) 2018 - 2019, Intel Corporation. All rights reserved.
> SPDX-License-Identifier: BSD-2-Clause-Patent >=20 > **/ > @@ -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 > + ); > } >=20 > // > -- > 2.16.2.windows.1 >=20 >=20 >=20