]>
Commit | Line | Data |
---|---|---|
1 | /** @file\r | |
2 | This file defines:\r | |
3 | * the capsule vendor GUID for capsule variables and the HOB.\r | |
4 | * the capsule variable name.\r | |
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 | |
8 | \r | |
9 | @par Note: EDKII implementation of capsule updating has discarded this capsule GUID HOB data\r | |
10 | structure and used one UEFI Capsule HOB (defined in PI Specification 1.2) instead.\r | |
11 | \r | |
12 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r | |
13 | SPDX-License-Identifier: BSD-2-Clause-Patent\r | |
14 | \r | |
15 | **/\r | |
16 | \r | |
17 | #ifndef __EFI_CAPSULE_VENDOR_GUID_H__\r | |
18 | #define __EFI_CAPSULE_VENDOR_GUID_H__\r | |
19 | \r | |
20 | ///\r | |
21 | /// This guid is used as a variable GUID for the capsule variable\r | |
22 | /// if the capsule pointer is passed through reset via a variable.\r | |
23 | ///\r | |
24 | /// This guid is also used as a hob GUID for the capsule data\r | |
25 | /// when the capsule pointer is passed from PEI phase to DXE phase.\r | |
26 | ///\r | |
27 | #define EFI_CAPSULE_VENDOR_GUID \\r | |
28 | { 0x711C703F, 0xC285, 0x4B10, { 0xA3, 0xB0, 0x36, 0xEC, 0xBD, 0x3C, 0x8B, 0xE2 } }\r | |
29 | \r | |
30 | ///\r | |
31 | /// Name of capsule variable.\r | |
32 | ///\r | |
33 | #define EFI_CAPSULE_VARIABLE_NAME L"CapsuleUpdateData"\r | |
34 | \r | |
35 | ///\r | |
36 | /// The data structure of the capsule guid hob entry.\r | |
37 | /// Note: EDKII implementation has discarded this structure and used\r | |
38 | /// UEFI_CAPSULE_HOB instead.\r | |
39 | ///\r | |
40 | typedef struct {\r | |
41 | EFI_PHYSICAL_ADDRESS BaseAddress; ///< Capsule data start address.\r | |
42 | UINT32 Length; ///< Length of capsule data.\r | |
43 | } CAPSULE_HOB_INFO;\r | |
44 | \r | |
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 | |
49 | #define EFI_CAPSULE_LONG_MODE_BUFFER_NAME L"CapsuleLongModeBuffer"\r | |
50 | \r | |
51 | typedef struct {\r | |
52 | EFI_PHYSICAL_ADDRESS PageTableAddress;\r | |
53 | EFI_PHYSICAL_ADDRESS StackBaseAddress;\r | |
54 | UINT64 StackSize;\r | |
55 | } EFI_CAPSULE_LONG_MODE_BUFFER;\r | |
56 | \r | |
57 | extern EFI_GUID gEfiCapsuleVendorGuid;\r | |
58 | \r | |
59 | #endif // #ifndef _EFI_CAPSULE_VENDOR_GUID_H_\r |