summaryrefslogtreecommitdiffstats
path: root/MdePkg/Include/Uefi
diff options
context:
space:
mode:
authorLiming Gao <liming.gao@intel.com>2015-04-29 01:36:16 +0000
committerlgao4 <lgao4@Edk2>2015-04-29 01:36:16 +0000
commit6c98edac3035e18e8e0a667da4b0a3e8512af49e (patch)
treee889710ae310de34e3a736baa0835d8fd4549493 /MdePkg/Include/Uefi
parent6e746540c33bb6a1d9affba24f6acb51e9122f7e (diff)
downloadedk2-6c98edac3035e18e8e0a667da4b0a3e8512af49e.tar.gz
edk2-6c98edac3035e18e8e0a667da4b0a3e8512af49e.tar.bz2
edk2-6c98edac3035e18e8e0a667da4b0a3e8512af49e.zip
MdePkg: Add UEFI2.5 and PI1.4 PersistentMemory definition
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17241 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdePkg/Include/Uefi')
-rw-r--r--MdePkg/Include/Uefi/UefiMultiPhase.h7
-rw-r--r--MdePkg/Include/Uefi/UefiSpec.h7
2 files changed, 13 insertions, 1 deletions
diff --git a/MdePkg/Include/Uefi/UefiMultiPhase.h b/MdePkg/Include/Uefi/UefiMultiPhase.h
index a7a7dcf88c..1a879c191d 100644
--- a/MdePkg/Include/Uefi/UefiMultiPhase.h
+++ b/MdePkg/Include/Uefi/UefiMultiPhase.h
@@ -1,7 +1,7 @@
/** @file
This includes some definitions introduced in UEFI that will be used in both PEI and DXE phases.
-Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are licensed and made available under
the terms and conditions of the BSD License that accompanies this distribution.
The full text of the license may be found at
@@ -82,6 +82,11 @@ typedef enum {
/// Address space reserved by the firmware for code that is part of the processor.
///
EfiPalCode,
+ ///
+ /// A memory region that operates as EfiConventionalMemory,
+ /// however it happens to also support byte-addressable non-volatility.
+ ///
+ EfiPersistentMemory,
EfiMaxMemoryType
} EFI_MEMORY_TYPE;
diff --git a/MdePkg/Include/Uefi/UefiSpec.h b/MdePkg/Include/Uefi/UefiSpec.h
index 64105c227f..f825f23e1c 100644
--- a/MdePkg/Include/Uefi/UefiSpec.h
+++ b/MdePkg/Include/Uefi/UefiSpec.h
@@ -75,6 +75,11 @@ typedef enum {
#define EFI_MEMORY_RP 0x0000000000002000ULL
#define EFI_MEMORY_XP 0x0000000000004000ULL
//
+// Physical memory persistence attribute.
+// The memory region supports byte-addressable non-volatility.
+//
+#define EFI_MEMORY_NV 0x0000000000008000ULL
+//
// Runtime memory attribute
//
#define EFI_MEMORY_RUNTIME 0x8000000000000000ULL
@@ -128,6 +133,7 @@ typedef struct {
AllocateMaxAddress or AllocateAddress.
2) MemoryType is in the range
3) Memory is NULL.
+ 4) MemoryType was EfiPersistentMemory.
EfiMaxMemoryType..0x7FFFFFFF.
@retval EFI_OUT_OF_RESOURCES The pages could not be allocated.
@retval EFI_NOT_FOUND The requested pages could not be found.
@@ -207,6 +213,7 @@ EFI_STATUS
@retval EFI_SUCCESS The requested number of bytes was allocated.
@retval EFI_OUT_OF_RESOURCES The pool requested could not be allocated.
@retval EFI_INVALID_PARAMETER PoolType was invalid or Buffer is NULL.
+ PoolType was EfiPersistentMemory.
**/
typedef