]>
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 | |
7be273b7 | 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 |
ab7017fe | 12 | Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>\r |
64a80549 | 13 | This program and the accompanying materials are licensed and made available under \r |
14 | the terms and conditions of the BSD License that accompanies this distribution. \r | |
15 | The full text of the license may be found at\r | |
16 | http://opensource.org/licenses/bsd-license.php. \r | |
88f20127 | 17 | \r |
64a80549 | 18 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r |
88f20127 | 19 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r |
20 | \r | |
504214c4 | 21 | **/\r |
88f20127 | 22 | \r |
23 | #ifndef __EFI_CAPSULE_VENDOR_GUID_H__\r | |
24 | #define __EFI_CAPSULE_VENDOR_GUID_H__\r | |
25 | \r | |
ebafc55b | 26 | ///\r |
109e9a61 LG |
27 | /// This guid is used as a variable GUID for the capsule variable \r |
28 | /// if the capsule pointer is passed through reset via a variable.\r | |
29 | ///\r | |
30 | /// This guid is also used as a hob GUID for the capsule data \r | |
31 | /// when the capsule pointer is passed from PEI phase to DXE phase.\r | |
ebafc55b | 32 | ///\r |
88f20127 | 33 | #define EFI_CAPSULE_VENDOR_GUID \\r |
34 | { 0x711C703F, 0xC285, 0x4B10, { 0xA3, 0xB0, 0x36, 0xEC, 0xBD, 0x3C, 0x8B, 0xE2 } }\r | |
35 | \r | |
ebafc55b | 36 | ///\r |
64a80549 | 37 | /// Name of capsule variable.\r |
ebafc55b | 38 | /// \r |
3cfb790c | 39 | #define EFI_CAPSULE_VARIABLE_NAME L"CapsuleUpdateData"\r |
40 | \r | |
72f01d4b | 41 | ///\r |
64a80549 | 42 | /// The data structure of the capsule guid hob entry.\r |
44770e59 | 43 | /// Note: EDKII implementation has discarded this structure and used \r |
7be273b7 | 44 | /// UEFI_CAPSULE_HOB instead.\r |
72f01d4b | 45 | ///\r |
46 | typedef struct {\r | |
64a80549 | 47 | EFI_PHYSICAL_ADDRESS BaseAddress; ///< Capsule data start address.\r |
72f01d4b | 48 | UINT32 Length; ///< Length of capsule data.\r |
49 | } CAPSULE_HOB_INFO;\r | |
0537d50f | 50 | \r |
ab7017fe | 51 | //\r |
52 | // The variable describes the long mode buffer used by IA32 Capsule PEIM\r | |
53 | // to call X64 CapsuleCoalesce code to handle >4GB capsule blocks.\r | |
54 | //\r | |
55 | #define EFI_CAPSULE_LONG_MODE_BUFFER_NAME L"CapsuleLongModeBuffer"\r | |
56 | \r | |
57 | typedef struct {\r | |
58 | EFI_PHYSICAL_ADDRESS PageTableAddress;\r | |
59 | EFI_PHYSICAL_ADDRESS StackBaseAddress;\r | |
60 | UINT64 StackSize;\r | |
61 | } EFI_CAPSULE_LONG_MODE_BUFFER;\r | |
62 | \r | |
109e9a61 LG |
63 | extern EFI_GUID gEfiCapsuleVendorGuid;\r |
64 | \r | |
88f20127 | 65 | #endif // #ifndef _EFI_CAPSULE_VENDOR_GUID_H_\r |