]> 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 7f4bf8a9274dbe65841a90538de4901b9efa2e72..2df710bbe09466989eb7799e1f25be9d1e6c4c20 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   HOB related definitions in PI.\r
 \r
-  Copyright (c) 2006 - 2008, Intel Corporation                                                         \r
+  Copyright (c) 2006 - 2009, Intel Corporation                                                         \r
   All rights reserved. This program and the accompanying materials                          \r
   are licensed and made available under the terms and conditions of the BSD License         \r
   which accompanies this distribution.  The full text of the license may be found at        \r
 #ifndef __PI_HOB_H__\r
 #define __PI_HOB_H__\r
 \r
-#include <ProcessorBind.h>\r
-#include <Pi/PiBootMode.h>\r
-#include <Uefi/UefiBaseType.h>\r
-#include <Uefi/UefiMultiPhase.h>\r
-\r
 //\r
 // HobType of EFI_HOB_GENERIC_HEADER.\r
 // \r
@@ -35,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
@@ -407,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
@@ -423,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