]>
Commit | Line | Data |
---|---|---|
5c526736 LG |
1 | /** @file \r |
2 | This file defines NvDataFv GUID and FTW working block structure header.\r | |
6426c8ff LG |
3 | This guid can be used as FileSystemGuid in EFI_FIRMWARE_VOLUME_HEADER if \r |
4 | this FV image contains NV data, such as NV variable data.\r | |
5 | This guid can also be used as the signature of FTW working block header.\r | |
504214c4 | 6 | \r |
6426c8ff | 7 | Copyright (c) 2006 - 2009, Intel Corporation \r |
88f20127 | 8 | All rights reserved. This program and the accompanying materials \r |
9 | are licensed and made available under the terms and conditions of the BSD License \r | |
10 | which accompanies this distribution. The full text of the license may be found at \r | |
11 | http://opensource.org/licenses/bsd-license.php \r | |
12 | \r | |
13 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r | |
14 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r | |
15 | \r | |
504214c4 | 16 | **/\r |
88f20127 | 17 | \r |
18 | #ifndef __SYSTEM_NV_DATA_GUID_H__\r | |
19 | #define __SYSTEM_NV_DATA_GUID_H__\r | |
20 | \r | |
21 | #define EFI_SYSTEM_NV_DATA_FV_GUID \\r | |
22 | {0xfff12b8d, 0x7696, 0x4c8b, {0xa9, 0x85, 0x27, 0x47, 0x7, 0x5b, 0x4f, 0x50} }\r | |
23 | \r | |
ebafc55b | 24 | ///\r |
5c526736 | 25 | /// NvDataFv GUID used as the signature of FTW working block header.\r |
ebafc55b | 26 | ///\r |
5c526736 | 27 | extern EFI_GUID gEfiSystemNvDataFvGuid;\r |
88f20127 | 28 | \r |
5c526736 LG |
29 | #define WORKING_BLOCK_VALID 0x1\r |
30 | #define WORKING_BLOCK_INVALID 0x2\r | |
ebafc55b LG |
31 | \r |
32 | ///\r | |
5c526736 LG |
33 | /// EDKII Fault tolerant working block header\r |
34 | /// The header is immediately followed by the write queue data.\r | |
ebafc55b | 35 | ///\r |
5c526736 LG |
36 | typedef struct {\r |
37 | ///\r | |
38 | /// System Non Volatile FV Guid\r | |
39 | ///\r | |
40 | EFI_GUID Signature;\r | |
41 | ///\r | |
42 | /// 32bit CRC caculated for this header\r | |
43 | ///\r | |
44 | UINT32 Crc;\r | |
45 | ///\r | |
46 | /// Working block valid bit\r | |
47 | ///\r | |
48 | UINT8 WorkingBlockValid : 1;\r | |
49 | UINT8 WorkingBlockInvalid : 1;\r | |
50 | UINT8 Reserved : 6;\r | |
51 | UINT8 Reserved3[3];\r | |
52 | ///\r | |
53 | /// Total size of the following write queue range.\r | |
54 | ///\r | |
55 | UINT64 WriteQueueSize;\r | |
56 | ///\r | |
57 | /// Write Queue data\r | |
58 | /// UINT8 WriteQueue[WriteQueueSize];\r | |
59 | ///\r | |
60 | } EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER;\r | |
88f20127 | 61 | \r |
62 | #endif\r |