From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga07.intel.com (mga07.intel.com []) by mx.groups.io with SMTP id smtpd.web10.445.1575417459945456390 for ; Tue, 03 Dec 2019 15:57:46 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=fail (domain: intel.com, ip: , mailfrom: nathaniel.l.desimone@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 orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 03 Dec 2019 15:57:46 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,275,1571727600"; d="scan'208";a="223018430" Received: from orsmsx101.amr.corp.intel.com ([10.22.225.128]) by orsmga002.jf.intel.com with ESMTP; 03 Dec 2019 15:57:46 -0800 Received: from orsmsx158.amr.corp.intel.com (10.22.240.20) by ORSMSX101.amr.corp.intel.com (10.22.225.128) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 3 Dec 2019 15:57:46 -0800 Received: from orsmsx114.amr.corp.intel.com ([169.254.8.67]) by ORSMSX158.amr.corp.intel.com ([169.254.10.131]) with mapi id 14.03.0439.000; Tue, 3 Dec 2019 15:57:45 -0800 From: "Nate DeSimone" To: "Kubacki, Michael A" , "devel@edk2.groups.io" CC: "Chiu, Chasel" , "Gao, Liming" Subject: Re: [edk2-platforms][PATCH V2 29/47] MinPlatformPkg: Add FvAdvancedPreMemory Thread-Topic: [edk2-platforms][PATCH V2 29/47] MinPlatformPkg: Add FvAdvancedPreMemory Thread-Index: AQHVpYhRFAp+h7+mxkiNesBjjA89raepHzBA Date: Tue, 3 Dec 2019 23:57:44 +0000 Message-ID: <02A34F284D1DA44BB705E61F7180EF0AB5C13E48@ORSMSX114.amr.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: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZWIxMjA5OWUtMTNhNy00ZDZkLWFkM2MtN2YwOWZjMWI1YmExIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoielNwNHVweHpnTnFvTktJY2wyUFVHZzlcL0JcL0VjU3ZcL1lwR2dcL01YMUEwU3NqM2RKQlhVdUp2anA4NkIrUEdPTVoifQ== x-ctpclassification: CTP_NT x-originating-ip: [10.22.254.138] MIME-Version: 1.0 Return-Path: nathaniel.l.desimone@intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Nate DeSimone -----Original Message----- From: Kubacki, Michael A =20 Sent: Wednesday, November 27, 2019 5:06 PM To: devel@edk2.groups.io Cc: Chiu, Chasel ; Desimone, Nathaniel L ; Gao, Liming Subject: [edk2-platforms][PATCH V2 29/47] MinPlatformPkg: Add FvAdvancedPre= Memory This change adds a new firmware volume to MinPlatformPkg called FvAdvancedP= reMemory. This firmware volume is used to hold advanced feature modules tha= t must be available in pre-memory. Previously, these modules were kept as an uncompressed child FV in FvAdvanc= ed. 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 ne= eded and to simplify the FV layout and FV installation process. Cc: Chasel Chiu Cc: Nate DeSimone Cc: Liming Gao Signed-off-by: Michael Kubacki --- Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec = | 3 ++ Platform/Intel/MinPlatformPkg/PlatformInit/Library/PeiReportFvLib/PeiRepor= tFvLib.inf | 42 ++++++++++---------- Platform/Intel/MinPlatformPkg/PlatformInit/Library/PeiReportFvLib/PeiRepor= tFvLib.c | 24 ++++++++--- 3 files changed, 44 insertions(+), 25 deletions(-) diff --git a/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec b/Platform/In= tel/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|UINT32|0= x20000010 gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecuritySize|0x00000000|UINT32|0= x20000011 gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecurityOffset|0x00000000|UINT32= |0x20000012 + =20 + gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedPreMemoryBase|0x000000 + 00|UINT32|0x2000002D =20 + gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedPreMemorySize|0x000000 + 00|UINT32|0x2000002E =20 + gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedPreMemoryOffset|0x0000 + 0000|UINT32|0x2000002F gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedBase|0x00000000|UINT32|0= x20000013 gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedSize|0x00000000|UINT32|0= x20000014 gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedOffset|0x00000000|UINT32= |0x20000015 diff --git a/Platform/Intel/MinPlatformPkg/PlatformInit/Library/PeiReportFv= Lib/PeiReportFvLib.inf b/Platform/Intel/MinPlatformPkg/PlatformInit/Library= /PeiReportFvLib/PeiReportFvLib.inf index 4d96c9cf31..1ce3034fcc 100644 --- a/Platform/Intel/MinPlatformPkg/PlatformInit/Library/PeiReportFvLib/Pei= ReportFvLib.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.
+# Copyright (c) 2018 - 2019, Intel Corporation. All rights=20 +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 ## CONSU= MES + gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaBaseAddress ## CONSU= MES + gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize ## CONSU= MES + gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspMBase ## CONSU= MES + gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspMSize ## CONSU= MES + gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspSBase ## CONSU= MES + gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspSSize ## CONSU= MES + gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspUBase ## CONSU= MES + gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspUSize ## CONSU= MES + gMinPlatformPkgTokenSpaceGuid.PcdFlashFvPostMemoryBase ## CONSU= MES + gMinPlatformPkgTokenSpaceGuid.PcdFlashFvPostMemorySize ## CONSU= MES + gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootBase ## CONSU= MES + gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootSize ## CONSU= MES + gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootBase ## CONSU= MES + gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootSize ## CONSU= MES + gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecurityBase ## CONSU= MES + gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecuritySize ## CONSU= MES + gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedPreMemoryBase ## CONSU= MES + gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedPreMemorySize ## CONSU= MES + gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedBase ## CONSU= MES + gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedSize ## CONSU= MES diff --git a/Platform/Intel/MinPlatformPkg/PlatformInit/Library/PeiReportFv= Lib/PeiReportFvLib.c b/Platform/Intel/MinPlatformPkg/PlatformInit/Library/P= eiReportFvLib/PeiReportFvLib.c index 6e49b1239d..b61587f6e3 100644 --- a/Platform/Intel/MinPlatformPkg/PlatformInit/Library/PeiReportFvLib/Pei= ReportFvLib.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 (PcdFlashFvAdvanced= Base))->FileSystemGuid), - (VOID *) (UINTN) PcdGet32 (PcdFlashFvAdvancedBase), - PcdGet32 (PcdFlashFvAdvancedSize), + &(((EFI_FIRMWARE_VOLUME_HEADER *) (UINTN) PcdGet32 (PcdFlashFvAdvanced= PreMemoryBase))->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 (PcdFlashFvAdvanc= edBase))->FileSystemGuid), + (VOID *) (UINTN) PcdGet32 (PcdFlashFvAdvancedBase), + PcdGet32 (PcdFlashFvAdvancedSize), + NULL, + NULL, + 0 + ); } =20 // -- 2.16.2.windows.1