12#ifndef __SYSTEM_NV_DATA_GUID_H__
13#define __SYSTEM_NV_DATA_GUID_H__
15#define EFI_SYSTEM_NV_DATA_FV_GUID \
16 {0xfff12b8d, 0x7696, 0x4c8b, {0xa9, 0x85, 0x27, 0x47, 0x7, 0x5b, 0x4f, 0x50} }
18#define EDKII_WORKING_BLOCK_SIGNATURE_GUID \
19 {0x9e58292b, 0x7c68, 0x497d, {0xa0, 0xce, 0x65, 0x0, 0xfd, 0x9f, 0x1b, 0x95} }
21extern EFI_GUID gEfiSystemNvDataFvGuid;
22extern EFI_GUID gEdkiiWorkingBlockSignatureGuid;
24#define WORKING_BLOCK_VALID 0x1
25#define WORKING_BLOCK_INVALID 0x2
46 UINT8 WorkingBlockInvalid : 1;
64#define FTW_VALID_STATE 0
65#define FTW_INVALID_STATE 1
71 UINT8 HeaderAllocated : 1;
72 UINT8 WritesAllocated : 1;
76 UINT64 NumberOfWrites;
77 UINT64 PrivateDataSize;
84 UINT8 BootBlockUpdate : 1;
85 UINT8 SpareComplete : 1;
86 UINT8 DestinationComplete : 1;
100#define FTW_RECORD_SIZE(PrivateDataSize) (sizeof (EFI_FAULT_TOLERANT_WRITE_RECORD) + (UINTN) PrivateDataSize)
102#define FTW_RECORD_TOTAL_SIZE(NumberOfWrites, PrivateDataSize) \
103 ((UINTN) (NumberOfWrites) * (sizeof (EFI_FAULT_TOLERANT_WRITE_RECORD) + (UINTN) PrivateDataSize))
105#define FTW_WRITE_TOTAL_SIZE(NumberOfWrites, PrivateDataSize) \
107 sizeof (EFI_FAULT_TOLERANT_WRITE_HEADER) + (UINTN) (NumberOfWrites) * \
108 (sizeof (EFI_FAULT_TOLERANT_WRITE_RECORD) + (UINTN) PrivateDataSize) \