summaryrefslogtreecommitdiffstats
path: root/MdePkg
diff options
context:
space:
mode:
authorJunfeng Guan <junfengx.guan@intel.com>2023-12-22 09:46:30 +0800
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2024-01-16 06:41:53 +0000
commita4b8944e27f497b0f4dbfb6aa412decab2874b58 (patch)
tree906baf4c99ab738b8574a6d17d4f37d8ee3de8a6 /MdePkg
parent682a5ed1a229443a259da2df9f961a0448071e3e (diff)
downloadedk2-a4b8944e27f497b0f4dbfb6aa412decab2874b58.tar.gz
edk2-a4b8944e27f497b0f4dbfb6aa412decab2874b58.tar.bz2
edk2-a4b8944e27f497b0f4dbfb6aa412decab2874b58.zip
MdePkg: Update the Label definitions of the EFI_NVDIMM_LABEL
Refer to Uefi spec 2.10 section 13.19.5, update the label definitions for NVDIMM SPA location cookie. Signed-off-by: Junfeng Guan <junfengx.guan@intel.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Zhiguang Liu <zhiguang.liu@intel.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
Diffstat (limited to 'MdePkg')
-rw-r--r--MdePkg/Include/Protocol/NvdimmLabel.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/MdePkg/Include/Protocol/NvdimmLabel.h b/MdePkg/Include/Protocol/NvdimmLabel.h
index 59416f11cb..0ba1003243 100644
--- a/MdePkg/Include/Protocol/NvdimmLabel.h
+++ b/MdePkg/Include/Protocol/NvdimmLabel.h
@@ -124,6 +124,12 @@ typedef struct {
///
#define EFI_NVDIMM_LABEL_FLAGS_UPDATING 0x00000008
+///
+/// When set, the SPALocationCookie in the namespace label is valid and should match the
+/// current value in the NFIT SPA Range Structure.
+///
+#define EFI_NVDIMM_LABEL_FLAGS_SPACOOKIE_BOUND 0x00000010
+
typedef struct {
///
/// Unique Label Identifier UUID per RFC 4122.
@@ -199,9 +205,17 @@ typedef struct {
EFI_GUID AddressAbstractionGuid;
///
+ /// When creating the label, this value is set to the value from the NFIT SPA Range Structure if the
+ /// SPALocationCookie flag (bit 2) is set. If EFI_NVDIMM_LABEL_FLAGS_SPACOOKIE_BOUND is set, the SPALocationCookie
+ /// value stored in the namespace label should match the current value in the NFIT SPA Range Structure.
+ /// Otherwise, the data may not be read correctly.
+ ///
+ UINT64 SPALocationCookie;
+
+ ///
/// Shall be 0.
///
- UINT8 Reserved1[88];
+ UINT8 Reserved1[80];
///
/// 64-bit Fletcher64 checksum of all fields in this Label.