]> git.proxmox.com Git - mirror_edk2.git/commitdiff
MdePkg: Add memory more reliable definitions.
authorStar Zeng <star.zeng@intel.com>
Mon, 11 May 2015 05:16:02 +0000 (05:16 +0000)
committerlzeng14 <lzeng14@Edk2>
Mon, 11 May 2015 05:16:02 +0000 (05:16 +0000)
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

MdePkg/Include/Pi/PiDxeCis.h
MdePkg/Include/Pi/PiHob.h
MdePkg/Include/Uefi/UefiSpec.h

index bb5e6a2389e933e475a5f8618e18b6891e0c02c4..a2208dffc2d7e389a5dbf8a0e0ae8aabbc964e4d 100644 (file)
@@ -53,6 +53,11 @@ typedef enum {
   /// This memory supports byte-addressable non-volatility. \r
   ///\r
   EfiGcdMemoryTypePersistentMemory,\r
+  ///\r
+  /// A memory region that provides higher reliability relative to other memory in the\r
+  /// system. If all memory has the same reliability, then this bit is not used.\r
+  ///\r
+  EfiGcdMemoryTypeMoreReliable,\r
   EfiGcdMemoryTypeMaximum\r
 } EFI_GCD_MEMORY_TYPE;\r
 \r
index b24f95149ba90c8d09010118fb05dd3917da6c2b..8581d7c74782c64a07acb84487cee63972ed5abd 100644 (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.\r
 \r
   @par Revision Reference:\r
-  PI Version 1.0\r
+  PI Version 1.4\r
 \r
 **/\r
 \r
@@ -295,6 +295,14 @@ typedef UINT32 EFI_RESOURCE_ATTRIBUTE_TYPE;
 #define EFI_RESOURCE_ATTRIBUTE_READ_ONLY_PROTECTED      0x00040000\r
 #define EFI_RESOURCE_ATTRIBUTE_READ_ONLY_PROTECTABLE    0x00800000\r
 \r
+//\r
+// Physical memory relative reliability attribute. This\r
+// memory provides higher reliability relative to other\r
+// memory in the system. If all memory has the same\r
+// reliability, then this bit is not used.\r
+//\r
+#define EFI_RESOURCE_ATTRIBUTE_MORE_RELIABLE            0x02000000\r
+\r
 ///\r
 /// Describes the resource properties of all fixed,\r
 /// nonrelocatable resource ranges found on the processor\r
index 243f33078a5e962b4b8cdc3ca88b453f3fb64e41..d38a5571afd54b6955bdf8a2ac1e28765449720f 100644 (file)
@@ -63,30 +63,35 @@ typedef enum {
 //\r
 // Memory cacheability attributes\r
 //\r
-#define EFI_MEMORY_UC   0x0000000000000001ULL\r
-#define EFI_MEMORY_WC   0x0000000000000002ULL\r
-#define EFI_MEMORY_WT   0x0000000000000004ULL\r
-#define EFI_MEMORY_WB   0x0000000000000008ULL\r
-#define EFI_MEMORY_UCE  0x0000000000000010ULL\r
+#define EFI_MEMORY_UC               0x0000000000000001ULL\r
+#define EFI_MEMORY_WC               0x0000000000000002ULL\r
+#define EFI_MEMORY_WT               0x0000000000000004ULL\r
+#define EFI_MEMORY_WB               0x0000000000000008ULL\r
+#define EFI_MEMORY_UCE              0x0000000000000010ULL\r
 //\r
 // Physical memory protection attributes\r
 //\r
 // Note: UEFI spec 2.5 and following: use EFI_MEMORY_RO as write-protected physical memory\r
 // protection attribute. Also, EFI_MEMORY_WP means cacheability attribute.\r
 //\r
-#define EFI_MEMORY_WP   0x0000000000001000ULL\r
-#define EFI_MEMORY_RP   0x0000000000002000ULL\r
-#define EFI_MEMORY_XP   0x0000000000004000ULL\r
-#define EFI_MEMORY_RO   0x0000000000020000ULL\r
+#define EFI_MEMORY_WP               0x0000000000001000ULL\r
+#define EFI_MEMORY_RP               0x0000000000002000ULL\r
+#define EFI_MEMORY_XP               0x0000000000004000ULL\r
+#define EFI_MEMORY_RO               0x0000000000020000ULL\r
 //\r
 // Physical memory persistence attribute. \r
 // The memory region supports byte-addressable non-volatility.\r
 //\r
-#define EFI_MEMORY_NV   0x0000000000008000ULL\r
+#define EFI_MEMORY_NV               0x0000000000008000ULL\r
+//\r
+// The memory region provides higher reliability relative to other memory in the system.\r
+// If all memory has the same reliability, then this bit is not used.\r
+//\r
+#define EFI_MEMORY_MORE_RELIABLE    0x0000000000010000ULL\r
 //\r
 // Runtime memory attribute\r
 //\r
-#define EFI_MEMORY_RUNTIME  0x8000000000000000ULL\r
+#define EFI_MEMORY_RUNTIME          0x8000000000000000ULL\r
 \r
 ///\r
 /// Memory descriptor version number.\r