]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Include/Guid/FaultTolerantWrite.h
MdeModulePkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / MdeModulePkg / Include / Guid / FaultTolerantWrite.h
1 /** @file
2 Define the GUID gEdkiiFaultTolerantWriteGuid that will be used to build
3 FAULT_TOLERANT_WRITE_LAST_WRITE_DATA GUID hob and install PPI to inform the check
4 for FTW last write data has been done. The GUID hob will be only built if FTW last write was
5 still in progress with SpareComplete set and DestinationComplete not set.
6
7 Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
8 SPDX-License-Identifier: BSD-2-Clause-Patent
9
10 **/
11
12 #ifndef _FAULT_TOLERANT_WRITE_H_
13 #define _FAULT_TOLERANT_WRITE_H_
14
15 #define EDKII_FAULT_TOLERANT_WRITE_GUID \
16 { \
17 0x1d3e9cb8, 0x43af, 0x490b, { 0x83, 0xa, 0x35, 0x16, 0xaa, 0x53, 0x20, 0x47 } \
18 }
19
20 //
21 // FTW Last write data. It will be used as gEdkiiFaultTolerantWriteGuid GUID hob data.
22 //
23 typedef struct {
24 ///
25 /// Target address to be updated in FTW last write.
26 ///
27 EFI_PHYSICAL_ADDRESS TargetAddress;
28 ///
29 /// Spare address to back up the updated buffer.
30 ///
31 EFI_PHYSICAL_ADDRESS SpareAddress;
32 ///
33 /// The length of data that have been backed up in spare block.
34 /// It is also the length of target block that has been erased.
35 ///
36 UINT64 Length;
37 } FAULT_TOLERANT_WRITE_LAST_WRITE_DATA;
38
39 //
40 // This GUID will be used to install PPI to inform the check for FTW last write data has been done.
41 // The related FAULT_TOLERANT_WRITE_LAST_WRITE_DATA GUID hob will be only built if
42 // FTW last write was still in progress with SpareComplete set and DestinationComplete not set.
43 // It means the target buffer has been backed up in spare block, then target block has been erased,
44 // but the target buffer has not been writen in target block from spare block.
45 //
46 extern EFI_GUID gEdkiiFaultTolerantWriteGuid;
47
48 #endif