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.
7 Copyright (c) 2013, Intel Corporation. All rights reserved.<BR>
8 This program and the accompanying materials are licensed and made available under
9 the terms and conditions of the BSD License that accompanies this distribution.
10 The full text of the license may be found at
11 http://opensource.org/licenses/bsd-license.php.
13 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
14 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
18 #ifndef _FAULT_TOLERANT_WRITE_H_
19 #define _FAULT_TOLERANT_WRITE_H_
21 #define EDKII_FAULT_TOLERANT_WRITE_GUID \
23 0x1d3e9cb8, 0x43af, 0x490b, { 0x83, 0xa, 0x35, 0x16, 0xaa, 0x53, 0x20, 0x47 } \
27 // FTW Last write data. It will be used as gEdkiiFaultTolerantWriteGuid GUID hob data.
31 /// Target address to be updated in FTW last write.
33 EFI_PHYSICAL_ADDRESS TargetAddress
;
35 /// Spare address to back up the updated buffer.
37 EFI_PHYSICAL_ADDRESS SpareAddress
;
39 /// The length of data that have been backed up in spare block.
40 /// It is also the length of target block that has been erased.
43 } FAULT_TOLERANT_WRITE_LAST_WRITE_DATA
;
46 // This GUID will be used to install PPI to inform the check for FTW last write data has been done.
47 // The related FAULT_TOLERANT_WRITE_LAST_WRITE_DATA GUID hob will be only built if
48 // FTW last write was still in progress with SpareComplete set and DestinationComplete not set.
49 // It means the target buffer has been backed up in spare block, then target block has been erased,
50 // but the target buffer has not been writen in target block from spare block.
52 extern EFI_GUID gEdkiiFaultTolerantWriteGuid
;