]>
Commit | Line | Data |
---|---|---|
504214c4 | 1 | /** @file\r |
e9b67286 | 2 | This file defines:\r |
64a80549 | 3 | * the capsule vendor GUID for capsule variables and the HOB.\r |
4 | * the capsule variable name.\r | |
72f01d4b | 5 | * the capsule GUID HOB data structure.\r |
6 | The capsule HOB and variable can be used to store the capsule image start address and length.\r | |
7 | They are used by EDKII implementation of capsule update across a system reset.\r | |
d1102dba | 8 | \r |
44770e59 | 9 | @par Note: EDKII implementation of capsule updating has discarded this capsule GUID HOB data\r |
64a80549 | 10 | structure and used one UEFI Capsule HOB (defined in PI Specification 1.2) instead.\r |
504214c4 | 11 | \r |
d1102dba | 12 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r |
9d510e61 | 13 | SPDX-License-Identifier: BSD-2-Clause-Patent\r |
88f20127 | 14 | \r |
504214c4 | 15 | **/\r |
88f20127 | 16 | \r |
17 | #ifndef __EFI_CAPSULE_VENDOR_GUID_H__\r | |
18 | #define __EFI_CAPSULE_VENDOR_GUID_H__\r | |
19 | \r | |
ebafc55b | 20 | ///\r |
d1102dba | 21 | /// This guid is used as a variable GUID for the capsule variable\r |
109e9a61 LG |
22 | /// if the capsule pointer is passed through reset via a variable.\r |
23 | ///\r | |
d1102dba | 24 | /// This guid is also used as a hob GUID for the capsule data\r |
109e9a61 | 25 | /// when the capsule pointer is passed from PEI phase to DXE phase.\r |
ebafc55b | 26 | ///\r |
88f20127 | 27 | #define EFI_CAPSULE_VENDOR_GUID \\r |
28 | { 0x711C703F, 0xC285, 0x4B10, { 0xA3, 0xB0, 0x36, 0xEC, 0xBD, 0x3C, 0x8B, 0xE2 } }\r | |
29 | \r | |
ebafc55b | 30 | ///\r |
64a80549 | 31 | /// Name of capsule variable.\r |
d1102dba | 32 | ///\r |
1436aea4 | 33 | #define EFI_CAPSULE_VARIABLE_NAME L"CapsuleUpdateData"\r |
3cfb790c | 34 | \r |
72f01d4b | 35 | ///\r |
64a80549 | 36 | /// The data structure of the capsule guid hob entry.\r |
d1102dba | 37 | /// Note: EDKII implementation has discarded this structure and used\r |
7be273b7 | 38 | /// UEFI_CAPSULE_HOB instead.\r |
72f01d4b | 39 | ///\r |
40 | typedef struct {\r | |
1436aea4 MK |
41 | EFI_PHYSICAL_ADDRESS BaseAddress; ///< Capsule data start address.\r |
42 | UINT32 Length; ///< Length of capsule data.\r | |
72f01d4b | 43 | } CAPSULE_HOB_INFO;\r |
0537d50f | 44 | \r |
ab7017fe | 45 | //\r |
46 | // The variable describes the long mode buffer used by IA32 Capsule PEIM\r | |
47 | // to call X64 CapsuleCoalesce code to handle >4GB capsule blocks.\r | |
48 | //\r | |
1436aea4 | 49 | #define EFI_CAPSULE_LONG_MODE_BUFFER_NAME L"CapsuleLongModeBuffer"\r |
ab7017fe | 50 | \r |
51 | typedef struct {\r | |
1436aea4 MK |
52 | EFI_PHYSICAL_ADDRESS PageTableAddress;\r |
53 | EFI_PHYSICAL_ADDRESS StackBaseAddress;\r | |
54 | UINT64 StackSize;\r | |
ab7017fe | 55 | } EFI_CAPSULE_LONG_MODE_BUFFER;\r |
56 | \r | |
1436aea4 | 57 | extern EFI_GUID gEfiCapsuleVendorGuid;\r |
109e9a61 | 58 | \r |
88f20127 | 59 | #endif // #ifndef _EFI_CAPSULE_VENDOR_GUID_H_\r |