MdePkg[all]  1.08
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Btt.h File Reference

Data Structures

struct  _EFI_BTT_INFO_BLOCK
 
struct  _EFI_BTT_MAP_ENTRY
 
struct  _EFI_BTT_FLOG
 

Macros

#define EFI_BTT_ABSTRACTION_GUID
 
#define EFI_BTT_ALIGNMENT   4096
 
#define EFI_BTT_INFO_UNUSED_LEN   3968
 
#define EFI_BTT_INFO_BLOCK_SIG_LEN   16
 
#define EFI_BTT_INFO_BLOCK_FLAGS_ERROR   0x00000001
 
#define EFI_BTT_INFO_BLOCK_MAJOR_VERSION   2
 
#define EFI_BTT_INFO_BLOCK_MINOR_VERSION   0
 
#define EFI_BTT_FLOG_ENTRY_ALIGNMENT   64
 

Typedefs

typedef struct _EFI_BTT_INFO_BLOCK EFI_BTT_INFO_BLOCK
 
typedef struct _EFI_BTT_MAP_ENTRY EFI_BTT_MAP_ENTRY
 
typedef struct _EFI_BTT_FLOG EFI_BTT_FLOG
 

Variables

GUID gEfiBttAbstractionGuid
 

Detailed Description

Block Translation Table (BTT) metadata layout definition.

BTT is a layout and set of rules for doing block I/O that provide powerfail write atomicity of a single block.

Copyright (c) 2017, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Revision Reference:
This metadata layout definition was introduced in UEFI Specification 2.7.

Macro Definition Documentation

#define EFI_BTT_ABSTRACTION_GUID
Value:
{ \
0x18633bfc, 0x1735, 0x4217, { 0x8a, 0xc9, 0x17, 0x23, 0x92, 0x82, 0xd3, 0xf8 } \
}

The BTT layout and behavior is described by the GUID as below.

#define EFI_BTT_ALIGNMENT   4096
#define EFI_BTT_FLOG_ENTRY_ALIGNMENT   64

Alignment of each flog structure

#define EFI_BTT_INFO_BLOCK_FLAGS_ERROR   0x00000001

Indicate inconsistent metadata or lost metadata due to unrecoverable media errors.

#define EFI_BTT_INFO_BLOCK_MAJOR_VERSION   2
#define EFI_BTT_INFO_BLOCK_MINOR_VERSION   0
#define EFI_BTT_INFO_BLOCK_SIG_LEN   16
#define EFI_BTT_INFO_UNUSED_LEN   3968

Typedef Documentation

typedef struct _EFI_BTT_FLOG EFI_BTT_FLOG

The BTT Flog is both a free list and a log. The Flog size is determined by the EFI_BTT_INFO_BLOCK.NFree which determines how many of these flog entries there are. The Flog location is the highest aligned address in the arena after space for the backup info block.

Block Translation Table (BTT) Info Block

BTT Map entry maps an LBA that indexes into the arena, to its actual location.

Variable Documentation

GUID gEfiBttAbstractionGuid