MdeModulePkg: Add the EFI_RESOURCE_ATTRIBUTE_SPECIAL_PURPOSE attribute
Add the EFI_RESOURCE_ATTRIBUTE_SPECIAL_PURPOSE resource attribute as per the PI 1.8 spec. This flag is used to indicate that the memory should be treated as special purpose memory (SPM). Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
This commit is contained in:
parent
2625e91963
commit
af2a04699d
|
@ -26,7 +26,8 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
|
|||
EFI_RESOURCE_ATTRIBUTE_16_BIT_IO | \
|
||||
EFI_RESOURCE_ATTRIBUTE_32_BIT_IO | \
|
||||
EFI_RESOURCE_ATTRIBUTE_64_BIT_IO | \
|
||||
EFI_RESOURCE_ATTRIBUTE_PERSISTENT )
|
||||
EFI_RESOURCE_ATTRIBUTE_PERSISTENT | \
|
||||
EFI_RESOURCE_ATTRIBUTE_SPECIAL_PURPOSE )
|
||||
|
||||
#define TESTED_MEMORY_ATTRIBUTES (EFI_RESOURCE_ATTRIBUTE_PRESENT | \
|
||||
EFI_RESOURCE_ATTRIBUTE_INITIALIZED | \
|
||||
|
@ -2668,6 +2669,12 @@ CoreInitializeGcdServices (
|
|||
GcdMemoryType = EfiGcdMemoryTypePersistent;
|
||||
}
|
||||
|
||||
// Mark special purpose memory as system memory, if it was system memory in the HOB
|
||||
// However, if this is also marked as persistent, let persistent take precedence
|
||||
if ((ResourceHob->ResourceAttribute & EFI_RESOURCE_ATTRIBUTE_SPECIAL_PURPOSE) == EFI_RESOURCE_ATTRIBUTE_SPECIAL_PURPOSE) {
|
||||
GcdMemoryType = EfiGcdMemoryTypeSystemMemory;
|
||||
}
|
||||
|
||||
break;
|
||||
case EFI_RESOURCE_MEMORY_MAPPED_IO:
|
||||
case EFI_RESOURCE_FIRMWARE_DEVICE:
|
||||
|
|
Loading…
Reference in New Issue