]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Pi/PiHob.h
MdePkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / MdePkg / Include / Pi / PiHob.h
index b24f95149ba90c8d09010118fb05dd3917da6c2b..62c07742a688e249db8e22271105f76f1eeff971 100644 (file)
@@ -1,17 +1,11 @@
 /** @file\r
   HOB related definitions in PI.\r
 \r
-Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>\r
-This program and the accompanying materials are licensed and made available under\r
-the terms and conditions of the BSD License that accompanies this distribution.\r
-The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php.\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
   @par Revision Reference:\r
-  PI Version 1.0\r
+  PI Version 1.6\r
 \r
 **/\r
 \r
@@ -31,6 +25,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #define EFI_HOB_TYPE_FV2                  0x0009\r
 #define EFI_HOB_TYPE_LOAD_PEIM_UNUSED     0x000A\r
 #define EFI_HOB_TYPE_UEFI_CAPSULE         0x000B\r
+#define EFI_HOB_TYPE_FV3                  0x000C\r
 #define EFI_HOB_TYPE_UNUSED               0xFFFE\r
 #define EFI_HOB_TYPE_END_OF_HOB_LIST      0xFFFF\r
 \r
@@ -293,7 +288,15 @@ typedef UINT32 EFI_RESOURCE_ATTRIBUTE_TYPE;
 #define EFI_RESOURCE_ATTRIBUTE_PERSISTABLE              0x01000000\r
 \r
 #define EFI_RESOURCE_ATTRIBUTE_READ_ONLY_PROTECTED      0x00040000\r
-#define EFI_RESOURCE_ATTRIBUTE_READ_ONLY_PROTECTABLE    0x00800000\r
+#define EFI_RESOURCE_ATTRIBUTE_READ_ONLY_PROTECTABLE    0x00080000\r
+\r
+//\r
+// Physical memory relative reliability attribute. This\r
+// memory provides higher reliability relative to other\r
+// memory in the system. If all memory has the same\r
+// reliability, then this bit is not used.\r
+//\r
+#define EFI_RESOURCE_ATTRIBUTE_MORE_RELIABLE            0x02000000\r
 \r
 ///\r
 /// Describes the resource properties of all fixed,\r
@@ -391,6 +394,43 @@ typedef struct {
   EFI_GUID                FileName;\r
 } EFI_HOB_FIRMWARE_VOLUME2;\r
 \r
+///\r
+/// Details the location of a firmware volume that was extracted\r
+/// from a file within another firmware volume.\r
+///\r
+typedef struct {\r
+  ///\r
+  /// The HOB generic header. Header.HobType = EFI_HOB_TYPE_FV3.\r
+  ///\r
+  EFI_HOB_GENERIC_HEADER  Header;\r
+  ///\r
+  /// The physical memory-mapped base address of the firmware volume.\r
+  ///\r
+  EFI_PHYSICAL_ADDRESS    BaseAddress;\r
+  ///\r
+  /// The length in bytes of the firmware volume.\r
+  ///\r
+  UINT64                  Length;\r
+  ///\r
+  /// The authentication status.\r
+  ///\r
+  UINT32                  AuthenticationStatus;\r
+  ///\r
+  /// TRUE if the FV was extracted as a file within another firmware volume.\r
+  /// FALSE otherwise.\r
+  ///\r
+  BOOLEAN                 ExtractedFv;\r
+  ///\r
+  /// The name of the firmware volume.\r
+  /// Valid only if IsExtractedFv is TRUE.\r
+  ///\r
+  EFI_GUID                FvName;\r
+  ///\r
+  /// The name of the firmware file that contained this firmware volume.\r
+  /// Valid only if IsExtractedFv is TRUE.\r
+  ///\r
+  EFI_GUID                FileName;\r
+} EFI_HOB_FIRMWARE_VOLUME3;\r
 \r
 ///\r
 /// Describes processor information, such as address space and I/O space capabilities.\r
@@ -461,6 +501,7 @@ typedef union {
   EFI_HOB_GUID_TYPE                   *Guid;\r
   EFI_HOB_FIRMWARE_VOLUME             *FirmwareVolume;\r
   EFI_HOB_FIRMWARE_VOLUME2            *FirmwareVolume2;\r
+  EFI_HOB_FIRMWARE_VOLUME3            *FirmwareVolume3;\r
   EFI_HOB_CPU                         *Cpu;\r
   EFI_HOB_MEMORY_POOL                 *Pool;\r
   EFI_HOB_UEFI_CAPSULE                *Capsule;\r