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.web10.1928.1574061668618868968 for ; Sun, 17 Nov 2019 23:21:08 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.151, mailfrom: michael.a.kubacki@intel.com) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Nov 2019 23:21:08 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,319,1569308400"; d="scan'208";a="208765911" Received: from makuback-desk1.amr.corp.intel.com ([10.7.159.162]) by orsmga003.jf.intel.com with ESMTP; 17 Nov 2019 23:21:07 -0800 From: "Kubacki, Michael A" To: devel@edk2.groups.io Cc: Dandan Bi , Liming Gao , Jian J Wang , Hao A Wu Subject: [PATCH V1 1/1] MdeModulePkg PeiCore: Improve PeiInstallPeiMemory() description Date: Sun, 17 Nov 2019 23:21:03 -0800 Message-Id: <20191118072103.2436-1-michael.a.kubacki@intel.com> X-Mailer: git-send-email 2.16.2.windows.1 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 --- MdeModulePkg/Core/Pei/PeiMain.h | 23 ++++++++++++++---- MdeModulePkg/Core/Pei/Memory/MemoryServices.c | 25 +++++++++++++------- 2 files changed, 35 insertions(+), 13 deletions(-) diff --git a/MdeModulePkg/Core/Pei/PeiMain.h b/MdeModulePkg/Core/Pei/PeiMain.h index f2aa97c664..14dfb20d05 100644 --- a/MdeModulePkg/Core/Pei/PeiMain.h +++ b/MdeModulePkg/Core/Pei/PeiMain.h @@ -898,13 +898,26 @@ 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 table 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. + + 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 appropriate 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 returns 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. @return EFI_SUCCESS Always success. diff --git a/MdeModulePkg/Core/Pei/Memory/MemoryServices.c b/MdeModulePkg/Core/Pei/Memory/MemoryServices.c index 706837890f..b6ac876145 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,17 +55,26 @@ 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 private 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 table 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 appropriate 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 returns 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. @return EFI_SUCCESS Always success. -- 2.16.2.windows.1