]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Include/Guid/CapsuleVendor.h
MdeModulePkg: Add definition of the EDKII_UFS_HC_PLATFORM_PROTOCOL
[mirror_edk2.git] / MdeModulePkg / Include / Guid / CapsuleVendor.h
CommitLineData
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 12Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
9d510e61 13SPDX-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
3cfb790c 33#define EFI_CAPSULE_VARIABLE_NAME L"CapsuleUpdateData"\r
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
40typedef struct {\r
64a80549 41 EFI_PHYSICAL_ADDRESS BaseAddress; ///< Capsule data start address.\r
72f01d4b 42 UINT32 Length; ///< Length of capsule data.\r
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
49#define EFI_CAPSULE_LONG_MODE_BUFFER_NAME L"CapsuleLongModeBuffer"\r
50\r
51typedef 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
109e9a61
LG
57extern EFI_GUID gEfiCapsuleVendorGuid;\r
58\r
88f20127 59#endif // #ifndef _EFI_CAPSULE_VENDOR_GUID_H_\r