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_16_BIT_IO | \
|
||||||
EFI_RESOURCE_ATTRIBUTE_32_BIT_IO | \
|
EFI_RESOURCE_ATTRIBUTE_32_BIT_IO | \
|
||||||
EFI_RESOURCE_ATTRIBUTE_64_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 | \
|
#define TESTED_MEMORY_ATTRIBUTES (EFI_RESOURCE_ATTRIBUTE_PRESENT | \
|
||||||
EFI_RESOURCE_ATTRIBUTE_INITIALIZED | \
|
EFI_RESOURCE_ATTRIBUTE_INITIALIZED | \
|
||||||
|
@ -2668,6 +2669,12 @@ CoreInitializeGcdServices (
|
||||||
GcdMemoryType = EfiGcdMemoryTypePersistent;
|
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;
|
break;
|
||||||
case EFI_RESOURCE_MEMORY_MAPPED_IO:
|
case EFI_RESOURCE_MEMORY_MAPPED_IO:
|
||||||
case EFI_RESOURCE_FIRMWARE_DEVICE:
|
case EFI_RESOURCE_FIRMWARE_DEVICE:
|
||||||
|
|
Loading…
Reference in New Issue