summaryrefslogtreecommitdiffstats
path: root/MdeModulePkg/Include/Guid/MemoryTypeInformation.h
diff options
context:
space:
mode:
authorMichael D Kinney <michael.d.kinney@intel.com>2024-01-28 13:33:32 -0800
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2024-01-30 18:30:02 +0000
commitaf6e0e728f652f496a6fb1e659617c9662f774ac (patch)
tree3adbcc0fa975178e13fe263e38b80e3b5812c444 /MdeModulePkg/Include/Guid/MemoryTypeInformation.h
parentc5e702e45ad4e71e1bfc710c9db0826c1c893b18 (diff)
downloadedk2-af6e0e728f652f496a6fb1e659617c9662f774ac.tar.gz
edk2-af6e0e728f652f496a6fb1e659617c9662f774ac.tar.bz2
edk2-af6e0e728f652f496a6fb1e659617c9662f774ac.zip
MdeModulePkg/Core/Dxe: Set MemoryTypeInfo bin range from HOB
Provide an optional method for PEI to declare a specific address range to use for the Memory Type Information bins. The current algorithm uses heuristics that tends to place the Memory Type Information bins in the same location, but memory configuration changes across boots or algorithm changes across a firmware updates could potentially change the Memory Type Information bin location. If the bin locations move across an S4 save/resume cycle, then the S4 resume may fail. Enabling this feature increases the number of scenarios that an S4 resume operation may succeed. If the HOB List contains a Resource Descriptor HOB that describes tested system memory and has an Owner GUID of gEfiMemoryTypeInformationGuid, then use the address range described by the Resource Descriptor HOB as the preferred location of the Memory Type Information bins. If this HOB is not detected, then the current behavior is preserved. The HOB with an Owner GUID of gEfiMemoryTypeInformationGuid is ignored for the following conditions: * The HOB with an Owner GUID of gEfiMemoryTypeInformationGuid is smaller than the Memory Type Information bins. * The HOB list contains more than one Resource Descriptor HOB with an owner GUID of gEfiMemoryTypeInformationGuid. * The Resource Descriptor HOB with an Owner GUID of gEfiMemoryTypeInformationGuid is the same Resource Descriptor HOB that that describes the PHIT memory range. Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Aaron Li <aaron.li@intel.com> Cc: Liu Yun <yun.y.liu@intel.com> Cc: Andrew Fish <afish@apple.com> Cc: Laszlo Ersek <lersek@redhat.com> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Diffstat (limited to 'MdeModulePkg/Include/Guid/MemoryTypeInformation.h')
-rw-r--r--MdeModulePkg/Include/Guid/MemoryTypeInformation.h14
1 files changed, 9 insertions, 5 deletions
diff --git a/MdeModulePkg/Include/Guid/MemoryTypeInformation.h b/MdeModulePkg/Include/Guid/MemoryTypeInformation.h
index e97d88765e..65adcf478b 100644
--- a/MdeModulePkg/Include/Guid/MemoryTypeInformation.h
+++ b/MdeModulePkg/Include/Guid/MemoryTypeInformation.h
@@ -1,14 +1,18 @@
/** @file
This file defines:
- * Memory Type Information GUID for HOB and Variable.
+ * Memory Type Information GUID for Guided HOB and Variable.
* Memory Type Information Variable Name.
* Memory Type Information GUID HOB data structure.
- The memory type information HOB and variable can
- be used to store the information for each memory type in Variable or HOB.
+ The memory type information HOB and variable can be used to store information
+ for each memory type in Variable or HOB.
-Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
-SPDX-License-Identifier: BSD-2-Clause-Patent
+ The Memory Type Information GUID can also be optionally used as the Owner
+ field of a Resource Descriptor HOB to provide the preferred memory range
+ for the memory types described in the Memory Type Information GUID HOB.
+
+ Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
+ SPDX-License-Identifier: BSD-2-Clause-Patent
**/