]>
Commit | Line | Data |
---|---|---|
1 | /** @file \r | |
2 | This file defines NvDataFv GUID and FTW working block structure header.\r | |
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 | |
6 | \r | |
7 | Copyright (c) 2006 - 2009, Intel Corporation \r | |
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 | |
16 | **/\r | |
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 | |
24 | ///\r | |
25 | /// NvDataFv GUID used as the signature of FTW working block header.\r | |
26 | ///\r | |
27 | extern EFI_GUID gEfiSystemNvDataFvGuid;\r | |
28 | \r | |
29 | #define WORKING_BLOCK_VALID 0x1\r | |
30 | #define WORKING_BLOCK_INVALID 0x2\r | |
31 | \r | |
32 | ///\r | |
33 | /// EDKII Fault tolerant working block header\r | |
34 | /// The header is immediately followed by the write queue data.\r | |
35 | ///\r | |
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 | |
61 | \r | |
62 | #endif\r |