TianoCore EDK2 master
Loading...
Searching...
No Matches
NvdimmLabel.h
Go to the documentation of this file.
1
16#ifndef __EFI_NVDIMM_LABEL_PROTOCOL_H__
17#define __EFI_NVDIMM_LABEL_PROTOCOL_H__
18
19#define EFI_NVDIMM_LABEL_PROTOCOL_GUID \
20 { \
21 0xd40b6b80, 0x97d5, 0x4282, {0xbb, 0x1d, 0x22, 0x3a, 0x16, 0x91, 0x80, 0x58 } \
22 }
23
25
26#define EFI_NVDIMM_LABEL_INDEX_SIG_LEN 16
27#define EFI_NVDIMM_LABEL_INDEX_ALIGN 256
28typedef struct {
32 CHAR8 Sig[EFI_NVDIMM_LABEL_INDEX_SIG_LEN];
33
37 UINT8 Flags[3];
38
43 UINT8 LabelSize;
44
48 UINT32 Seq;
49
53 UINT64 MyOff;
54
59 UINT64 MySize;
60
64 UINT64 OtherOff;
65
69 UINT64 LabelOff;
70
74 UINT32 NSlot;
75
79 UINT16 Major;
80
84 UINT16 Minor;
85
89 UINT64 Checksum;
90
98 UINT8 Free[];
100
101#define EFI_NVDIMM_LABEL_NAME_LEN 64
102
106#define EFI_NVDIMM_LABEL_FLAGS_ROLABEL 0x00000001
107
114#define EFI_NVDIMM_LABEL_FLAGS_LOCAL 0x00000002
115
120#define EFI_NVDIMM_LABEL_FLAGS_SPACOOKIE_BOUND 0x00000010
121
122typedef struct {
127
131 CHAR8 Name[EFI_NVDIMM_LABEL_NAME_LEN];
132
136 UINT32 Flags;
137
141 UINT16 NLabel;
142
146 UINT16 Position;
147
153 UINT64 SetCookie;
154
159 UINT64 LbaSize;
160
164 UINT64 Dpa;
165
169 UINT64 RawSize;
170
174 UINT32 Slot;
175
180
184 UINT8 Reserved[3];
185
190
195
203
207 UINT8 Reserved1[80];
208
213 UINT64 Checksum;
215
216typedef struct {
221
226
230 UINT16 VendorId;
231
236
241
245 UINT8 Reserved[31];
247
248typedef struct {
254
268typedef
272 OUT UINT32 *SizeOfLabelStorageArea,
273 OUT UINT32 *MaxTransferLength
274 );
275
299typedef
303 IN UINT32 Offset,
304 IN UINT32 TransferLength,
305 OUT UINT8 *LabelData
306 );
307
330typedef
334 IN UINT32 Offset,
335 IN UINT32 TransferLength,
336 IN UINT8 *LabelData
337 );
338
343 EFI_NVDIMM_LABEL_STORAGE_INFORMATION LabelStorageInformation;
344 EFI_NVDIMM_LABEL_STORAGE_READ LabelStorageRead;
345 EFI_NVDIMM_LABEL_STORAGE_WRITE LabelStorageWrite;
346};
347
348extern EFI_GUID gEfiNvdimmLabelProtocolGuid;
349
350#endif
#define CONST
Definition: Base.h:259
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
EFI_STATUS(EFIAPI * EFI_NVDIMM_LABEL_STORAGE_WRITE)(IN CONST EFI_NVDIMM_LABEL_PROTOCOL *This, IN UINT32 Offset, IN UINT32 TransferLength, IN UINT8 *LabelData)
Definition: NvdimmLabel.h:332
EFI_STATUS(EFIAPI * EFI_NVDIMM_LABEL_STORAGE_READ)(IN CONST EFI_NVDIMM_LABEL_PROTOCOL *This, IN UINT32 Offset, IN UINT32 TransferLength, OUT UINT8 *LabelData)
Definition: NvdimmLabel.h:301
EFI_STATUS(EFIAPI * EFI_NVDIMM_LABEL_STORAGE_INFORMATION)(IN EFI_NVDIMM_LABEL_PROTOCOL *This, OUT UINT32 *SizeOfLabelStorageArea, OUT UINT32 *MaxTransferLength)
Definition: NvdimmLabel.h:270
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29
EFI_GUID TypeGuid
Definition: NvdimmLabel.h:189
UINT64 SPALocationCookie
Definition: NvdimmLabel.h:202
EFI_GUID AddressAbstractionGuid
Definition: NvdimmLabel.h:194
Definition: Base.h:213