]>
Commit | Line | Data |
---|---|---|
566771b0 | 1 | /** @file\r |
2 | Guid & data structure used for Delivering Capsules Containing Updates to Firmware\r | |
93e8d03c | 3 | Management Protocol\r |
566771b0 | 4 | \r |
2ca32f8d | 5 | Copyright (c) 2013 - 2015, Intel Corporation. All rights reserved.<BR>\r |
9344f092 | 6 | SPDX-License-Identifier: BSD-2-Clause-Patent\r |
566771b0 | 7 | \r |
8 | @par Revision Reference:\r | |
9 | GUIDs defined in UEFI 2.4 spec.\r | |
10 | \r | |
11 | **/\r | |
12 | \r | |
566771b0 | 13 | #ifndef _FMP_CAPSULE_GUID_H__\r |
14 | #define _FMP_CAPSULE_GUID_H__\r | |
15 | \r | |
16 | //\r | |
17 | // This is the GUID of the capsule for Firmware Management Protocol.\r | |
18 | //\r | |
19 | #define EFI_FIRMWARE_MANAGEMENT_CAPSULE_ID_GUID \\r | |
20 | { \\r | |
21 | 0x6dcbd5ed, 0xe82d, 0x4c44, {0xbd, 0xa1, 0x71, 0x94, 0x19, 0x9a, 0xd9, 0x2a } \\r | |
22 | }\r | |
23 | \r | |
24 | #pragma pack(1)\r | |
25 | \r | |
26 | typedef struct {\r | |
2f88bd3a | 27 | UINT32 Version;\r |
566771b0 | 28 | \r |
29 | ///\r | |
30 | /// The number of drivers included in the capsule and the number of corresponding\r | |
6e746540 | 31 | /// offsets stored in ItemOffsetList array.\r |
566771b0 | 32 | ///\r |
2f88bd3a | 33 | UINT16 EmbeddedDriverCount;\r |
566771b0 | 34 | \r |
35 | ///\r | |
36 | /// The number of payload items included in the capsule and the number of\r | |
37 | /// corresponding offsets stored in the ItemOffsetList array.\r | |
38 | ///\r | |
2f88bd3a | 39 | UINT16 PayloadItemCount;\r |
566771b0 | 40 | \r |
41 | ///\r | |
42 | /// Variable length array of dimension [EmbeddedDriverCount + PayloadItemCount]\r | |
43 | /// containing offsets of each of the drivers and payload items contained within the capsule\r | |
44 | ///\r | |
45 | // UINT64 ItemOffsetList[];\r | |
46 | } EFI_FIRMWARE_MANAGEMENT_CAPSULE_HEADER;\r | |
47 | \r | |
48 | typedef struct {\r | |
2f88bd3a | 49 | UINT32 Version;\r |
566771b0 | 50 | \r |
51 | ///\r | |
2ca32f8d | 52 | /// Used to identify device firmware targeted by this update. This guid is matched by\r |
566771b0 | 53 | /// system firmware against ImageTypeId field within a EFI_FIRMWARE_IMAGE_DESCRIPTOR\r |
54 | ///\r | |
2f88bd3a | 55 | EFI_GUID UpdateImageTypeId;\r |
566771b0 | 56 | \r |
57 | ///\r | |
58 | /// Passed as ImageIndex in call to EFI_FIRMWARE_MANAGEMENT_PROTOCOL.SetImage()\r | |
59 | ///\r | |
2f88bd3a MK |
60 | UINT8 UpdateImageIndex;\r |
61 | UINT8 reserved_bytes[3];\r | |
566771b0 | 62 | \r |
63 | ///\r | |
64 | /// Size of the binary update image which immediately follows this structure\r | |
65 | ///\r | |
2f88bd3a | 66 | UINT32 UpdateImageSize;\r |
566771b0 | 67 | \r |
68 | ///\r | |
2ca32f8d | 69 | /// Size of the VendorCode bytes which optionally immediately follow binary update image in the capsule\r |
566771b0 | 70 | ///\r |
2f88bd3a | 71 | UINT32 UpdateVendorCodeSize;\r |
2ca32f8d HW |
72 | \r |
73 | ///\r | |
74 | /// The HardwareInstance to target with this update. If value is zero it means match all\r | |
75 | /// HardwareInstances. This field allows update software to target only a single device in\r | |
76 | /// cases where there are more than one device with the same ImageTypeId GUID.\r | |
77 | /// This header is outside the signed data of the Authentication Info structure and\r | |
78 | /// therefore can be modified without changing the Auth data.\r | |
79 | ///\r | |
2f88bd3a | 80 | UINT64 UpdateHardwareInstance;\r |
67c25bcc OY |
81 | \r |
82 | ///\r | |
83 | /// A 64-bit bitmask that determines what sections are added to the payload.\r | |
84 | /// #define CAPSULE_SUPPORT_AUTHENTICATION 0x0000000000000001\r | |
85 | /// #define CAPSULE_SUPPORT_DEPENDENCY 0x0000000000000002\r | |
86 | ///\r | |
2f88bd3a | 87 | UINT64 ImageCapsuleSupport;\r |
566771b0 | 88 | } EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER;\r |
89 | \r | |
90 | #pragma pack()\r | |
91 | \r | |
2f88bd3a MK |
92 | #define EFI_FIRMWARE_MANAGEMENT_CAPSULE_HEADER_INIT_VERSION 0x00000001\r |
93 | #define EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER_INIT_VERSION 0x00000003\r | |
94 | #define CAPSULE_SUPPORT_AUTHENTICATION 0x0000000000000001\r | |
95 | #define CAPSULE_SUPPORT_DEPENDENCY 0x0000000000000002\r | |
566771b0 | 96 | \r |
2f88bd3a | 97 | extern EFI_GUID gEfiFmpCapsuleGuid;\r |
566771b0 | 98 | \r |
99 | #endif\r |