MdePkg: Add memory more reliable definitions.

PiHob.h: EFI_RESOURCE_ATTRIBUTE_MORE_RELIABLE resource attribute.
PiDxeCis: EfiGcdMemoryTypeMoreReliable GCD memory type.
UefiSpec.h: EFI_MEMORY_MORE_RELIABLE memory attribute.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17399 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
Star Zeng 2015-05-11 05:16:02 +00:00 committed by lzeng14
parent a4b833e573
commit e919c766d5
3 changed files with 30 additions and 12 deletions

View File

@ -53,6 +53,11 @@ typedef enum {
/// This memory supports byte-addressable non-volatility. /// This memory supports byte-addressable non-volatility.
/// ///
EfiGcdMemoryTypePersistentMemory, EfiGcdMemoryTypePersistentMemory,
///
/// A memory region that provides higher reliability relative to other memory in the
/// system. If all memory has the same reliability, then this bit is not used.
///
EfiGcdMemoryTypeMoreReliable,
EfiGcdMemoryTypeMaximum EfiGcdMemoryTypeMaximum
} EFI_GCD_MEMORY_TYPE; } EFI_GCD_MEMORY_TYPE;

View File

@ -11,7 +11,7 @@ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
@par Revision Reference: @par Revision Reference:
PI Version 1.0 PI Version 1.4
**/ **/
@ -295,6 +295,14 @@ typedef UINT32 EFI_RESOURCE_ATTRIBUTE_TYPE;
#define EFI_RESOURCE_ATTRIBUTE_READ_ONLY_PROTECTED 0x00040000 #define EFI_RESOURCE_ATTRIBUTE_READ_ONLY_PROTECTED 0x00040000
#define EFI_RESOURCE_ATTRIBUTE_READ_ONLY_PROTECTABLE 0x00800000 #define EFI_RESOURCE_ATTRIBUTE_READ_ONLY_PROTECTABLE 0x00800000
//
// Physical memory relative reliability attribute. This
// memory provides higher reliability relative to other
// memory in the system. If all memory has the same
// reliability, then this bit is not used.
//
#define EFI_RESOURCE_ATTRIBUTE_MORE_RELIABLE 0x02000000
/// ///
/// Describes the resource properties of all fixed, /// Describes the resource properties of all fixed,
/// nonrelocatable resource ranges found on the processor /// nonrelocatable resource ranges found on the processor

View File

@ -63,30 +63,35 @@ typedef enum {
// //
// Memory cacheability attributes // Memory cacheability attributes
// //
#define EFI_MEMORY_UC 0x0000000000000001ULL #define EFI_MEMORY_UC 0x0000000000000001ULL
#define EFI_MEMORY_WC 0x0000000000000002ULL #define EFI_MEMORY_WC 0x0000000000000002ULL
#define EFI_MEMORY_WT 0x0000000000000004ULL #define EFI_MEMORY_WT 0x0000000000000004ULL
#define EFI_MEMORY_WB 0x0000000000000008ULL #define EFI_MEMORY_WB 0x0000000000000008ULL
#define EFI_MEMORY_UCE 0x0000000000000010ULL #define EFI_MEMORY_UCE 0x0000000000000010ULL
// //
// Physical memory protection attributes // Physical memory protection attributes
// //
// Note: UEFI spec 2.5 and following: use EFI_MEMORY_RO as write-protected physical memory // Note: UEFI spec 2.5 and following: use EFI_MEMORY_RO as write-protected physical memory
// protection attribute. Also, EFI_MEMORY_WP means cacheability attribute. // protection attribute. Also, EFI_MEMORY_WP means cacheability attribute.
// //
#define EFI_MEMORY_WP 0x0000000000001000ULL #define EFI_MEMORY_WP 0x0000000000001000ULL
#define EFI_MEMORY_RP 0x0000000000002000ULL #define EFI_MEMORY_RP 0x0000000000002000ULL
#define EFI_MEMORY_XP 0x0000000000004000ULL #define EFI_MEMORY_XP 0x0000000000004000ULL
#define EFI_MEMORY_RO 0x0000000000020000ULL #define EFI_MEMORY_RO 0x0000000000020000ULL
// //
// Physical memory persistence attribute. // Physical memory persistence attribute.
// The memory region supports byte-addressable non-volatility. // The memory region supports byte-addressable non-volatility.
// //
#define EFI_MEMORY_NV 0x0000000000008000ULL #define EFI_MEMORY_NV 0x0000000000008000ULL
//
// The memory region provides higher reliability relative to other memory in the system.
// If all memory has the same reliability, then this bit is not used.
//
#define EFI_MEMORY_MORE_RELIABLE 0x0000000000010000ULL
// //
// Runtime memory attribute // Runtime memory attribute
// //
#define EFI_MEMORY_RUNTIME 0x8000000000000000ULL #define EFI_MEMORY_RUNTIME 0x8000000000000000ULL
/// ///
/// Memory descriptor version number. /// Memory descriptor version number.