XenevaOS
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Variables
Btt.h File Reference

Go to the source code of this file.

Classes

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.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License that accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php.

THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.

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

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.

◆ EFI_BTT_ALIGNMENT

#define EFI_BTT_ALIGNMENT   4096

◆ EFI_BTT_FLOG_ENTRY_ALIGNMENT

#define EFI_BTT_FLOG_ENTRY_ALIGNMENT   64

Alignment of each flog structure

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

◆ EFI_BTT_INFO_BLOCK_MAJOR_VERSION

#define EFI_BTT_INFO_BLOCK_MAJOR_VERSION   2

◆ EFI_BTT_INFO_BLOCK_MINOR_VERSION

#define EFI_BTT_INFO_BLOCK_MINOR_VERSION   0

◆ EFI_BTT_INFO_BLOCK_SIG_LEN

#define EFI_BTT_INFO_BLOCK_SIG_LEN   16

◆ EFI_BTT_INFO_UNUSED_LEN

#define EFI_BTT_INFO_UNUSED_LEN   3968

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.

Variable Documentation

◆ gEfiBttAbstractionGuid

GUID gEfiBttAbstractionGuid
extern