From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga01.intel.com (mga01.intel.com []) by mx.groups.io with SMTP id smtpd.web10.676.1573861875822063732 for ; Fri, 15 Nov 2019 15:51:19 -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 fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 15 Nov 2019 15:51:19 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,310,1569308400"; d="scan'208";a="203527031" Received: from orsmsx107.amr.corp.intel.com ([10.22.240.5]) by fmsmga008.fm.intel.com with ESMTP; 15 Nov 2019 15:51:19 -0800 Received: from orsmsx163.amr.corp.intel.com (10.22.240.88) by ORSMSX107.amr.corp.intel.com (10.22.240.5) with Microsoft SMTP Server (TLS) id 14.3.439.0; Fri, 15 Nov 2019 15:51:18 -0800 Received: from orsmsx114.amr.corp.intel.com ([169.254.8.67]) by ORSMSX163.amr.corp.intel.com ([169.254.9.212]) with mapi id 14.03.0439.000; Fri, 15 Nov 2019 15:51:18 -0800 From: "Nate DeSimone" To: "Kubacki, Michael A" , "devel@edk2.groups.io" CC: "Chiu, Chasel" , "Gao, Liming" Subject: Re: [edk2-platforms][PATCH V1 38/49] MinPlatformPkg: Add FvAdvancedPreMemory Thread-Topic: [edk2-platforms][PATCH V1 38/49] MinPlatformPkg: Add FvAdvancedPreMemory Thread-Index: AQHVmdKwBy8BiHO8ekWslVH4KMKQAaeMq2Fw Date: Fri, 15 Nov 2019 23:51:18 +0000 Message-ID: <02A34F284D1DA44BB705E61F7180EF0AB5BDB3AA@ORSMSX114.amr.corp.intel.com> References: <20191113032816.4056-1-michael.a.kubacki@intel.com> <20191113032816.4056-39-michael.a.kubacki@intel.com> In-Reply-To: <20191113032816.4056-39-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: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNzhmMzAzMDYtZDNmYy00ZmYwLWJkZDUtMDBkYjU3NWY3NDkzIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiSHl2YlVIMFg2M20ydm9XOXh0cmE1ZnlDQlllMUdRMk9UMjYxS2Fjckx5NFl4OXZ4UHQrQnFubXU0Y3pmNEZkNSJ9 x-ctpclassification: CTP_NT x-originating-ip: [10.22.254.140] 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: Tuesday, November 12, 2019 7:28 PM To: devel@edk2.groups.io Cc: Chiu, Chasel ; Desimone, Nathaniel L ; Gao, Liming Subject: [edk2-platforms][PATCH V1 38/49] 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 a851021c0b..28713108ed 100644 --- a/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec +++ b/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec @@ -168,6 +168,9 @@ gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootOffset|0x= 00000000|UINT32|0x2000000 gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecurityBase|0x00000000|UINT32|0x2= 0000010 gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecuritySize|0x00000000|UINT32|0x2= 0000011 gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecurityOffset|0x00000000|UINT32|0= x20000012 +gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedPreMemoryBase|0x0000000 +0|UINT32|0x2000002D=20 +gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedPreMemorySize|0x0000000 +0|UINT32|0x2000002E=20 +gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedPreMemoryOffset|0x00000 +000|UINT32|0x2000002F gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedBase|0x00000000|UINT32|0x2= 0000013 gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedSize|0x00000000|UINT32|0x2= 0000014 gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedOffset|0x00000000|UINT32|0= x20000015 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