From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mx.groups.io with SMTP id smtpd.web11.16943.1574138971380976669 for ; Mon, 18 Nov 2019 20:49:31 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.151, mailfrom: liming.gao@intel.com) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 18 Nov 2019 20:49:31 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,322,1569308400"; d="scan'208";a="407623397" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by fmsmga006.fm.intel.com with ESMTP; 18 Nov 2019 20:49:30 -0800 Received: from fmsmsx123.amr.corp.intel.com (10.18.125.38) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 18 Nov 2019 20:49:30 -0800 Received: from shsmsx154.ccr.corp.intel.com (10.239.6.54) by fmsmsx123.amr.corp.intel.com (10.18.125.38) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 18 Nov 2019 20:49:30 -0800 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.127]) by SHSMSX154.ccr.corp.intel.com ([169.254.7.200]) with mapi id 14.03.0439.000; Tue, 19 Nov 2019 12:49:27 +0800 From: "Liming Gao" To: "Kubacki, Michael A" , "devel@edk2.groups.io" CC: "Bi, Dandan" , "Wang, Jian J" , "Wu, Hao A" Subject: Re: [PATCH V2 1/1] MdeModulePkg PeiCore: Improve PeiInstallPeiMemory() description Thread-Topic: [PATCH V2 1/1] MdeModulePkg PeiCore: Improve PeiInstallPeiMemory() description Thread-Index: AQHVnpCg+Ui99+wUakCUn5G5vKilAqeR7C+Q Date: Tue, 19 Nov 2019 04:49:27 +0000 Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14E542F7B@SHSMSX104.ccr.corp.intel.com> References: <20191119041947.20344-1-michael.a.kubacki@intel.com> In-Reply-To: <20191119041947.20344-1-michael.a.kubacki@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: liming.gao@intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Michael: Please separate it to two patches. One is for MdePkg, another is for MdeM= odulePkg.=20 Thanks Liming >-----Original Message----- >From: Kubacki, Michael A >Sent: Tuesday, November 19, 2019 12:20 PM >To: devel@edk2.groups.io >Cc: Bi, Dandan ; Gao, Liming ; >Wang, Jian J ; Wu, Hao A >Subject: [PATCH V2 1/1] MdeModulePkg PeiCore: Improve >PeiInstallPeiMemory() description > >Updates the function description for PeiInstallPeiMemory () to be >more helpful. The description is based on that given in the PI >Specification Version 1.7. > >Cc: Dandan Bi >Cc: Liming Gao >Cc: Jian J Wang >Cc: Hao A Wu >Signed-off-by: Michael Kubacki >Reviewed-by: Jian J Wang >--- > >Notes: > V2 Changes: > 1. Updated the status code return values to those defined in the > function description in the PI specification, Vol 1 v1.7. > 2. Updated the EFI_PEI_INSTALL_PEI_MEMORY function description > in PiPeiCis.h. > > MdeModulePkg/Core/Pei/PeiMain.h | 28 ++++++++++++++---- > MdePkg/Include/Pi/PiPeiCis.h | 26 +++++++++++++---- > MdeModulePkg/Core/Pei/Memory/MemoryServices.c | 30 >++++++++++++++------ > 3 files changed, 64 insertions(+), 20 deletions(-) > >diff --git a/MdeModulePkg/Core/Pei/PeiMain.h >b/MdeModulePkg/Core/Pei/PeiMain.h >index f2aa97c664..0d3d62dbbe 100644 >--- a/MdeModulePkg/Core/Pei/PeiMain.h >+++ b/MdeModulePkg/Core/Pei/PeiMain.h >@@ -898,15 +898,31 @@ InitializeMemoryServices ( > ); > > /** >+ Registers the found memory configuration with the PEI Foundation. > >- Install the permanent memory is now available. >- Creates HOB (PHIT and Stack). >+ This service enables PEIMs to register the permanent memory >configuration that has been initialized >+ with the PEI Foundation. The result of this call-set is the creation of= the >appropriate Hand-Off Block >+ (HOB) describing the physical memory. > >- @param PeiServices An indirect pointer to the EFI_PEI_SERVICES tabl= e >published by the PEI Foundation. >- @param MemoryBegin Start of memory address. >- @param MemoryLength Length of memory. >+ The usage model is that the PEIM that discovers the permanent memory >shall invoke this service. >+ This routine will store discovered memory information in the PeiCore's >private data, and set the >+ SwitchStackSignal flag. After the PEIM who discovered memory is >dispatched, the PeiDispatcher will >+ migrate temporary memory to permanent memory. > >- @return EFI_SUCCESS Always success. >+ The memory reported is a single contiguous run. It should be enough to >allocate a PEI stack and >+ some HOB list. The full memory map will be reported using the appropria= te >memory HOBs. The >+ PEI Foundation will follow up with an installation of >EFI_PEI_PERMANENT_MEMORY_INSTALLED_PPI. >+ >+ Any invocations of this service after the first invocation which return= s >EFI_SUCCESS will be ignored. >+ >+ @param[in] PeiServices An indirect pointer to the EFI_PEI_SERVICES = table >published by the PEI Foundation. >+ @param[in] MemoryBegin Start of memory address. >+ @param[in] MemoryLength Length of memory. >+ >+ @retval EFI_SUCCESS The region was successfully installed in = a HOB or >this service was successfully >+ invoked earlier and no HOB modification w= ill occur. >+ @retval EFI_INVALID_PARAMETER MemoryBegin and MemoryLength are >illegal for this system. >+ @retval EFI_OUT_OF_RESOURCES There is no additional space for HOB >creation. > > **/ > EFI_STATUS >diff --git a/MdePkg/Include/Pi/PiPeiCis.h b/MdePkg/Include/Pi/PiPeiCis.h >index d9d4ed7d41..e8c48acb21 100644 >--- a/MdePkg/Include/Pi/PiPeiCis.h >+++ b/MdePkg/Include/Pi/PiPeiCis.h >@@ -422,13 +422,29 @@ EFI_STATUS > ); > > /** >- This function registers the found memory configuration with the PEI >Foundation. >+ Registers the found memory configuration with the PEI Foundation. > >- @param PeiServices An indirect pointer to the EFI_PEI_SERVICES ta= ble >published by the PEI Foundation. >- @param MemoryBegin The value of a region of installed memory. >- @param MemoryLength The corresponding length of a region of instal= led >memory. >+ This service enables PEIMs to register the permanent memory >configuration that has been initialized >+ with the PEI Foundation. The result of this call-set is the creation of= the >appropriate Hand-Off Block >+ (HOB) describing the physical memory. > >- @retval EFI_SUCCESS The region was successfully installed in = a HOB. >+ The usage model is that the PEIM that discovers the permanent memory >shall invoke this service. >+ This routine will store discovered memory information in the PeiCore's >private data, and set the >+ SwitchStackSignal flag. After the PEIM who discovered memory is >dispatched, the PeiDispatcher will >+ migrate temporary memory to permanent memory. >+ >+ The memory reported is a single contiguous run. It should be enough to >allocate a PEI stack and >+ some HOB list. The full memory map will be reported using the appropria= te >memory HOBs. The >+ PEI Foundation will follow up with an installation of >EFI_PEI_PERMANENT_MEMORY_INSTALLED_PPI. >+ >+ Any invocations of this service after the first invocation which return= s >EFI_SUCCESS will be ignored. >+ >+ @param[in] PeiServices An indirect pointer to the EFI_PEI_SERVICES = table >published by the PEI Foundation. >+ @param[in] MemoryBegin Start of memory address. >+ @param[in] MemoryLength Length of memory. >+ >+ @retval EFI_SUCCESS The region was successfully installed in = a HOB or >this service was successfully >+ invoked earlier and no HOB modification w= ill occur. > @retval EFI_INVALID_PARAMETER MemoryBegin and MemoryLength are >illegal for this system. > @retval EFI_OUT_OF_RESOURCES There is no additional space for HOB >creation. > >diff --git a/MdeModulePkg/Core/Pei/Memory/MemoryServices.c >b/MdeModulePkg/Core/Pei/Memory/MemoryServices.c >index 706837890f..679ac20493 100644 >--- a/MdeModulePkg/Core/Pei/Memory/MemoryServices.c >+++ b/MdeModulePkg/Core/Pei/Memory/MemoryServices.c >@@ -1,7 +1,7 @@ > /** @file > EFI PEI Core memory services > >-Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
>+Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.
> SPDX-License-Identifier: BSD-2-Clause-Patent > > **/ >@@ -55,19 +55,31 @@ InitializeMemoryServices ( > } > > /** >+ Registers the found memory configuration with the PEI Foundation. > >- This function registers the found memory configuration with the PEI >Foundation. >+ This service enables PEIMs to register the permanent memory >configuration that has been initialized >+ with the PEI Foundation. The result of this call-set is the creation of= the >appropriate Hand-Off Block >+ (HOB) describing the physical memory. > > The usage model is that the PEIM that discovers the permanent memory >shall invoke this service. >- This routine will hold discoveried memory information into PeiCore's pr= ivate >data, >- and set SwitchStackSignal flag. After PEIM who discovery memory is >dispatched, >- PeiDispatcher will migrate temporary memory to permenement memory. >+ This routine will store discovered memory information in the PeiCore's >private data, and set the >+ SwitchStackSignal flag. After the PEIM who discovered memory is >dispatched, the PeiDispatcher will >+ migrate temporary memory to permanent memory. > >- @param PeiServices An indirect pointer to the EFI_PEI_SERVICES t= able >published by the PEI Foundation. >- @param MemoryBegin Start of memory address. >- @param MemoryLength Length of memory. >+ The memory reported is a single contiguous run. It should be enough to >allocate a PEI stack and >+ some HOB list. The full memory map will be reported using the appropria= te >memory HOBs. The >+ PEI Foundation will follow up with an installation of >EFI_PEI_PERMANENT_MEMORY_INSTALLED_PPI. > >- @return EFI_SUCCESS Always success. >+ Any invocations of this service after the first invocation which return= s >EFI_SUCCESS will be ignored. >+ >+ @param[in] PeiServices An indirect pointer to the EFI_PEI_SERVICES = table >published by the PEI Foundation. >+ @param[in] MemoryBegin Start of memory address. >+ @param[in] MemoryLength Length of memory. >+ >+ @retval EFI_SUCCESS The region was successfully installed in = a HOB or >this service was successfully >+ invoked earlier and no HOB modification w= ill occur. >+ @retval EFI_INVALID_PARAMETER MemoryBegin and MemoryLength are >illegal for this system. >+ @retval EFI_OUT_OF_RESOURCES There is no additional space for HOB >creation. > > **/ > EFI_STATUS >-- >2.16.2.windows.1