MdePkg: Add UEFI Unaccepted memory definition

RFC: https://bugzilla.tianocore.org/show_bug.cgi?id=3937

Plase refer to:
  UEFI Spec v2.9 Table 7-5 Memory Type Usage before ExitBootServices()

Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Zhiguang Liu <zhiguang.liu@intel.com>
Cc: Erdem Aktas <erdemaktas@google.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: James Bottomley <jejb@linux.ibm.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Tom Lendacky <thomas.lendacky@amd.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
Signed-off-by: Min Xu <min.m.xu@intel.com>
This commit is contained in:
Min M Xu 2022-11-01 13:13:43 +08:00 committed by mergify[bot]
parent 9b648112a5
commit 502c01c502
3 changed files with 39 additions and 1 deletions

View File

@ -0,0 +1,25 @@
/** @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 7
#endif

View File

@ -56,7 +56,15 @@ typedef enum {
/// system. If all memory has the same reliability, then this bit is not used.
///
EfiGcdMemoryTypeMoreReliable,
EfiGcdMemoryTypeMaximum
// ///
// /// A memory region that describes system memory that has not been accepted
// /// by a corresponding call to the underlying isolation architecture.
// ///
// /// Please be noted:
// /// EfiGcdMemoryTypeUnaccepted is defined in PrePiDxeCis.h because it has not been
// /// defined in PI spec.
// EfiGcdMemoryTypeUnaccepted,
EfiGcdMemoryTypeMaximum = 8
} EFI_GCD_MEMORY_TYPE;
///

View File

@ -103,6 +103,11 @@ typedef enum {
/// however it happens to also support byte-addressable non-volatility.
///
EfiPersistentMemory,
///
/// A memory region that describes system memory that has not been accepted
/// by a corresponding call to the underlying isolation architecture.
///
EfiUnacceptedMemoryType,
EfiMaxMemoryType
} EFI_MEMORY_TYPE;