TianoCore EDK2 master
Loading...
Searching...
No Matches
Btt.h File Reference

Go to the source code of this file.

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.

Definition in file Btt.h.

Macro Definition Documentation

◆ EFI_BTT_ABSTRACTION_GUID

#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.

Definition at line 21 of file Btt.h.

◆ EFI_BTT_ALIGNMENT

#define EFI_BTT_ALIGNMENT   4096

Definition at line 29 of file Btt.h.

◆ EFI_BTT_FLOG_ENTRY_ALIGNMENT

#define EFI_BTT_FLOG_ENTRY_ALIGNMENT   64

Alignment of each flog structure

Definition at line 169 of file Btt.h.

◆ EFI_BTT_INFO_BLOCK_FLAGS_ERROR

#define EFI_BTT_INFO_BLOCK_FLAGS_ERROR   0x00000001

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

Definition at line 38 of file Btt.h.

◆ EFI_BTT_INFO_BLOCK_MAJOR_VERSION

#define EFI_BTT_INFO_BLOCK_MAJOR_VERSION   2

Definition at line 40 of file Btt.h.

◆ EFI_BTT_INFO_BLOCK_MINOR_VERSION

#define EFI_BTT_INFO_BLOCK_MINOR_VERSION   0

Definition at line 41 of file Btt.h.

◆ EFI_BTT_INFO_BLOCK_SIG_LEN

#define EFI_BTT_INFO_BLOCK_SIG_LEN   16

Definition at line 33 of file Btt.h.

◆ EFI_BTT_INFO_UNUSED_LEN

#define EFI_BTT_INFO_UNUSED_LEN   3968

Definition at line 31 of file Btt.h.

Typedef Documentation

◆ EFI_BTT_FLOG

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.

◆ EFI_BTT_INFO_BLOCK

Block Translation Table (BTT) Info Block

◆ EFI_BTT_MAP_ENTRY

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