]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Pi/PiHob.h
Add missing status code definitions.
[mirror_edk2.git] / MdePkg / Include / Pi / PiHob.h
index 0c51f8e01cec4e25086b3c6af1b201223e1959d5..2df710bbe09466989eb7799e1f25be9d1e6c4c20 100644 (file)
@@ -30,6 +30,7 @@
 #define EFI_HOB_TYPE_MEMORY_POOL          0x0007\r
 #define EFI_HOB_TYPE_FV2                  0x0009\r
 #define EFI_HOB_TYPE_LOAD_PEIM            0x000A\r
+#define EFI_HOB_TYPE_UEFI_CAPSULE         0x000B\r
 #define EFI_HOB_TYPE_UNUSED               0xFFFE\r
 #define EFI_HOB_TYPE_END_OF_HOB_LIST      0xFFFF\r
 \r
@@ -402,6 +403,28 @@ typedef struct {
   EFI_HOB_GENERIC_HEADER  Header;\r
 } EFI_HOB_MEMORY_POOL;\r
 \r
+///\r
+/// Each UEFI capsule HOB details the location of a UEFI capsule. It includes a base address and length\r
+/// which is based upon memory blocks with a EFI_CAPSULE_HEADER and the associated\r
+/// CapsuleImageSize-based payloads. These HOB's shall be created by the PEI PI firmware\r
+/// sometime after the UEFI UpdateCapsule service invocation with the\r
+/// CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE flag set in the EFI_CAPSULE_HEADER.\r
+///\r
+typedef struct {\r
+  ///\r
+  /// The HOB generic header where Header.HobType = EFI_HOB_TYPE_UEFI_CAPSULE.\r
+  ///\r
+  EFI_HOB_GENERIC_HEADER Header;\r
+  \r
+  ///\r
+  /// The physical memory-mapped base address of an UEFI capsule. This value is set to\r
+  /// point to the base of the contiguous memory of the UEFI capsule.\r
+  /// The length of the contiguous memory in bytes\r
+  ///\r
+  EFI_PHYSICAL_ADDRESS   BaseAddress;\r
+  UINT64                 Length;\r
+} EFI_HOB_UEFI_CAPSULE;\r
+\r
 ///\r
 /// Union of all the possible HOB Types\r
 ///\r
@@ -418,6 +441,7 @@ typedef union {
   EFI_HOB_FIRMWARE_VOLUME2            *FirmwareVolume2;\r
   EFI_HOB_CPU                         *Cpu;\r
   EFI_HOB_MEMORY_POOL                 *Pool;\r
+  EFI_HOB_UEFI_CAPSULE                *Capsule;\r
   UINT8                               *Raw;\r
 } EFI_PEI_HOB_POINTERS;\r
 \r