MdeModulePkg: Use newly defined Unaccepted Memory Type

EFI_RESOURCE_MEMORY_UNACCEPTED has been officially defined in the PI
1.8 specification. So all temporary solutions have been replaced with
the actual definition.

Cc: Felix Polyudov <felixp@ami.com>
Cc: Dhanaraj V <vdhanaraj@ami.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Signed-off-by: Sachin Ganesh <sachinganesh@ami.com>
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
This commit is contained in:
Sachin Ganesh 2023-11-21 15:33:49 +05:30 committed by mergify[bot]
parent 6fd2d58d5d
commit 09340de246
4 changed files with 24 additions and 69 deletions

View File

@ -8,8 +8,8 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
**/ **/
#include <Pi/PrePiDxeCis.h> #include <Pi/PiDxeCis.h>
#include <Pi/PrePiHob.h> #include <Pi/PiHob.h>
#include "DxeMain.h" #include "DxeMain.h"
#include "Gcd.h" #include "Gcd.h"
#include "Mem/HeapGuard.h" #include "Mem/HeapGuard.h"
@ -105,7 +105,7 @@ GLOBAL_REMOVE_IF_UNREFERENCED CONST CHAR8 *mGcdMemoryTypeNames[] = {
"MMIO ", // EfiGcdMemoryTypeMemoryMappedIo "MMIO ", // EfiGcdMemoryTypeMemoryMappedIo
"PersisMem", // EfiGcdMemoryTypePersistent "PersisMem", // EfiGcdMemoryTypePersistent
"MoreRelia", // EfiGcdMemoryTypeMoreReliable "MoreRelia", // EfiGcdMemoryTypeMoreReliable
"Unaccepte", // EFI_GCD_MEMORY_TYPE_UNACCEPTED "Unaccepte", // EfiGcdMemoryTypeUnaccepted
"Unknown " // EfiGcdMemoryTypeMaximum "Unknown " // EfiGcdMemoryTypeMaximum
}; };
@ -2669,8 +2669,8 @@ CoreInitializeGcdServices (
case EFI_RESOURCE_MEMORY_RESERVED: case EFI_RESOURCE_MEMORY_RESERVED:
GcdMemoryType = EfiGcdMemoryTypeReserved; GcdMemoryType = EfiGcdMemoryTypeReserved;
break; break;
case BZ3937_EFI_RESOURCE_MEMORY_UNACCEPTED: case EFI_RESOURCE_MEMORY_UNACCEPTED:
GcdMemoryType = EFI_GCD_MEMORY_TYPE_UNACCEPTED; GcdMemoryType = EfiGcdMemoryTypeUnaccepted;
break; break;
case EFI_RESOURCE_IO: case EFI_RESOURCE_IO:
GcdIoType = EfiGcdIoTypeIo; GcdIoType = EfiGcdIoTypeIo;

View File

@ -9,7 +9,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
#include "DxeMain.h" #include "DxeMain.h"
#include "Imem.h" #include "Imem.h"
#include "HeapGuard.h" #include "HeapGuard.h"
#include <Pi/PrePiDxeCis.h> #include <Pi/PiDxeCis.h>
// //
// Entry for tracking the memory regions for each memory type to coalesce similar memory types // Entry for tracking the memory regions for each memory type to coalesce similar memory types
@ -70,23 +70,23 @@ EFI_PHYSICAL_ADDRESS mDefaultMaximumAddress = MAX_ALLOC_ADDRESS;
EFI_PHYSICAL_ADDRESS mDefaultBaseAddress = MAX_ALLOC_ADDRESS; EFI_PHYSICAL_ADDRESS mDefaultBaseAddress = MAX_ALLOC_ADDRESS;
EFI_MEMORY_TYPE_INFORMATION gMemoryTypeInformation[EfiMaxMemoryType + 1] = { EFI_MEMORY_TYPE_INFORMATION gMemoryTypeInformation[EfiMaxMemoryType + 1] = {
{ EfiReservedMemoryType, 0 }, { EfiReservedMemoryType, 0 },
{ EfiLoaderCode, 0 }, { EfiLoaderCode, 0 },
{ EfiLoaderData, 0 }, { EfiLoaderData, 0 },
{ EfiBootServicesCode, 0 }, { EfiBootServicesCode, 0 },
{ EfiBootServicesData, 0 }, { EfiBootServicesData, 0 },
{ EfiRuntimeServicesCode, 0 }, { EfiRuntimeServicesCode, 0 },
{ EfiRuntimeServicesData, 0 }, { EfiRuntimeServicesData, 0 },
{ EfiConventionalMemory, 0 }, { EfiConventionalMemory, 0 },
{ EfiUnusableMemory, 0 }, { EfiUnusableMemory, 0 },
{ EfiACPIReclaimMemory, 0 }, { EfiACPIReclaimMemory, 0 },
{ EfiACPIMemoryNVS, 0 }, { EfiACPIMemoryNVS, 0 },
{ EfiMemoryMappedIO, 0 }, { EfiMemoryMappedIO, 0 },
{ EfiMemoryMappedIOPortSpace, 0 }, { EfiMemoryMappedIOPortSpace, 0 },
{ EfiPalCode, 0 }, { EfiPalCode, 0 },
{ EfiPersistentMemory, 0 }, { EfiPersistentMemory, 0 },
{ EFI_GCD_MEMORY_TYPE_UNACCEPTED, 0 }, { EfiGcdMemoryTypeUnaccepted, 0 },
{ EfiMaxMemoryType, 0 } { EfiMaxMemoryType, 0 }
}; };
// //
// Only used when load module at fixed address feature is enabled. True means the memory is alreay successfully allocated // Only used when load module at fixed address feature is enabled. True means the memory is alreay successfully allocated
@ -2083,7 +2083,7 @@ CoreGetMemoryMap (
MemoryMap = MergeMemoryMapDescriptor (MemoryMapStart, MemoryMap, Size); MemoryMap = MergeMemoryMapDescriptor (MemoryMapStart, MemoryMap, Size);
} }
if (MergeGcdMapEntry.GcdMemoryType == EFI_GCD_MEMORY_TYPE_UNACCEPTED) { if (MergeGcdMapEntry.GcdMemoryType == EfiGcdMemoryTypeUnaccepted) {
// //
// Page Align GCD range is required. When it is converted to EFI_MEMORY_DESCRIPTOR, // Page Align GCD range is required. When it is converted to EFI_MEMORY_DESCRIPTOR,
// it will be recorded as page PhysicalStart and NumberOfPages. // it will be recorded as page PhysicalStart and NumberOfPages.

View File

@ -1,25 +0,0 @@
/** @file
Include file matches things in PI.
Copyright (c) 2022, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef MDE_MODULEPKG_PRE_PI_DXE_CIS_H_
#define MDE_MODULEPKG_PRE_PI_DXE_CIS_H_
///
/// A memory region that describes system memory that has not been accepted
/// by a corresponding call to the underlying isolation architecture.
///
/// This memory region has not been defined in PI spec, so it is defined in
/// PrePiDxeCis.h. And it is defined in the format of captial letters
/// because only capital letters are allowed to be used for #define declarations.
///
/// After this memory region is defined in PI spec, it should be a value in
/// EFI_GCD_MEMORY_TYPE in PiDxeCis.h.
///
#define EFI_GCD_MEMORY_TYPE_UNACCEPTED 6
#endif

View File

@ -1,20 +0,0 @@
/** @file
HOB related definitions which has not been officially published in PI.
Copyright (c) 2022, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef MDE_MODULEPKG_PRE_PI_HOB_H_
#define MDE_MODULEPKG_PRE_PI_HOB_H_
//
// BZ3937_EFI_RESOURCE_MEMORY_UNACCEPTED is defined for unaccepted memory.
// But this defitinion has not been officially in the PI spec. Base
// on the code-first we define BZ3937_EFI_RESOURCE_MEMORY_UNACCEPTED at
// MdeModulePkg/Include/Pi/PrePiHob.h.
//
#define BZ3937_EFI_RESOURCE_MEMORY_UNACCEPTED 0x00000007
#endif