//\r
// Alignment of all BTT structures\r
//\r
-#define EFI_BTT_ALIGNMENT 4096\r
+#define EFI_BTT_ALIGNMENT 4096\r
\r
-#define EFI_BTT_INFO_UNUSED_LEN 3968\r
+#define EFI_BTT_INFO_UNUSED_LEN 3968\r
\r
-#define EFI_BTT_INFO_BLOCK_SIG_LEN 16\r
+#define EFI_BTT_INFO_BLOCK_SIG_LEN 16\r
\r
///\r
/// Indicate inconsistent metadata or lost metadata due to unrecoverable media errors.\r
///\r
-#define EFI_BTT_INFO_BLOCK_FLAGS_ERROR 0x00000001\r
+#define EFI_BTT_INFO_BLOCK_FLAGS_ERROR 0x00000001\r
\r
-#define EFI_BTT_INFO_BLOCK_MAJOR_VERSION 2\r
-#define EFI_BTT_INFO_BLOCK_MINOR_VERSION 0\r
+#define EFI_BTT_INFO_BLOCK_MAJOR_VERSION 2\r
+#define EFI_BTT_INFO_BLOCK_MINOR_VERSION 0\r
\r
///\r
/// Block Translation Table (BTT) Info Block\r
/// Signature of the BTT Index Block data structure.\r
/// Shall be "BTT_ARENA_INFO\0\0".\r
///\r
- CHAR8 Sig[EFI_BTT_INFO_BLOCK_SIG_LEN];\r
+ CHAR8 Sig[EFI_BTT_INFO_BLOCK_SIG_LEN];\r
\r
///\r
/// UUID identifying this BTT instance.\r
///\r
- GUID Uuid;\r
+ GUID Uuid;\r
\r
///\r
/// UUID of containing namespace.\r
///\r
- GUID ParentUuid;\r
+ GUID ParentUuid;\r
\r
///\r
/// Attributes of this BTT Info Block.\r
///\r
- UINT32 Flags;\r
+ UINT32 Flags;\r
\r
///\r
/// Major version number. Currently at version 2.\r
///\r
- UINT16 Major;\r
+ UINT16 Major;\r
\r
///\r
/// Minor version number. Currently at version 0.\r
///\r
- UINT16 Minor;\r
+ UINT16 Minor;\r
\r
///\r
/// Advertised LBA size in bytes. I/O requests shall be in this size chunk.\r
///\r
- UINT32 ExternalLbaSize;\r
+ UINT32 ExternalLbaSize;\r
\r
///\r
/// Advertised number of LBAs in this arena.\r
///\r
- UINT32 ExternalNLba;\r
+ UINT32 ExternalNLba;\r
\r
///\r
/// Internal LBA size shall be greater than or equal to ExternalLbaSize and shall not be smaller than 512 bytes.\r
///\r
- UINT32 InternalLbaSize;\r
+ UINT32 InternalLbaSize;\r
\r
///\r
/// Number of internal blocks in the arena data area.\r
///\r
- UINT32 InternalNLba;\r
+ UINT32 InternalNLba;\r
\r
///\r
/// Number of free blocks maintained for writes to this arena.\r
///\r
- UINT32 NFree;\r
+ UINT32 NFree;\r
\r
///\r
/// The size of this info block in bytes.\r
///\r
- UINT32 InfoSize;\r
+ UINT32 InfoSize;\r
\r
///\r
/// Offset of next arena, relative to the beginning of this arena.\r
///\r
- UINT64 NextOff;\r
+ UINT64 NextOff;\r
\r
///\r
/// Offset of the data area for this arena, relative to the beginning of this arena.\r
///\r
- UINT64 DataOff;\r
+ UINT64 DataOff;\r
\r
///\r
/// Offset of the map for this arena, relative to the beginning of this arena.\r
///\r
- UINT64 MapOff;\r
+ UINT64 MapOff;\r
\r
///\r
/// Offset of the flog for this arena, relative to the beginning of this arena.\r
///\r
- UINT64 FlogOff;\r
+ UINT64 FlogOff;\r
\r
///\r
/// Offset of the backup copy of this arena's info block, relative to the beginning of this arena.\r
///\r
- UINT64 InfoOff;\r
+ UINT64 InfoOff;\r
\r
///\r
/// Shall be zero.\r
///\r
- CHAR8 Unused[EFI_BTT_INFO_UNUSED_LEN];\r
+ CHAR8 Unused[EFI_BTT_INFO_UNUSED_LEN];\r
\r
///\r
/// 64-bit Fletcher64 checksum of all fields.\r
///\r
- UINT64 Checksum;\r
+ UINT64 Checksum;\r
} EFI_BTT_INFO_BLOCK;\r
\r
///\r
///\r
/// Post-map LBA number (block number in this arena's data area)\r
///\r
- UINT32 PostMapLba : 30;\r
+ UINT32 PostMapLba : 30;\r
\r
///\r
/// When set and Zero is not set, reads on this block return an error.\r
/// When set and Zero is set, indicate a map entry in its normal, non-error state.\r
///\r
- UINT32 Error : 1;\r
+ UINT32 Error : 1;\r
\r
///\r
/// When set and Error is not set, reads on this block return a full block of zeros.\r
/// When set and Error is set, indicate a map entry in its normal, non-error state.\r
///\r
- UINT32 Zero : 1;\r
+ UINT32 Zero : 1;\r
} EFI_BTT_MAP_ENTRY;\r
\r
///\r
/// Alignment of each flog structure\r
///\r
-#define EFI_BTT_FLOG_ENTRY_ALIGNMENT 64\r
+#define EFI_BTT_FLOG_ENTRY_ALIGNMENT 64\r
\r
///\r
/// The BTT Flog is both a free list and a log.\r
///\r
/// Last pre-map LBA written using this flog entry.\r
///\r
- UINT32 Lba0;\r
+ UINT32 Lba0;\r
\r
///\r
/// Old post-map LBA.\r
///\r
- UINT32 OldMap0;\r
+ UINT32 OldMap0;\r
\r
///\r
/// New post-map LBA.\r
///\r
- UINT32 NewMap0;\r
+ UINT32 NewMap0;\r
\r
///\r
/// The Seq0 field in each flog entry is used to determine which set of fields is newer between the two sets\r
/// (Lba0, OldMap0, NewMpa0, Seq0 vs Lba1, Oldmap1, NewMap1, Seq1).\r
///\r
- UINT32 Seq0;\r
+ UINT32 Seq0;\r
\r
///\r
/// Alternate lba entry.\r
///\r
- UINT32 Lba1;\r
+ UINT32 Lba1;\r
\r
///\r
/// Alternate old entry.\r
///\r
- UINT32 OldMap1;\r
+ UINT32 OldMap1;\r
\r
///\r
/// Alternate new entry.\r
///\r
- UINT32 NewMap1;\r
+ UINT32 NewMap1;\r
\r
///\r
/// Alternate Seq entry.\r
///\r
- UINT32 Seq1;\r
+ UINT32 Seq1;\r
} EFI_BTT_FLOG;\r
\r
-extern GUID gEfiBttAbstractionGuid;\r
+extern GUID gEfiBttAbstractionGuid;\r
\r
#endif //_BTT_H_\r