]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/C/Include/Common/PiFirmwareVolume.h
BaseTools: Clear build versions to sync with buildtools/BaseTools
[mirror_edk2.git] / BaseTools / Source / C / Include / Common / PiFirmwareVolume.h
index fde381537fc871e7184f637368d3ff00f0d33da3..9d62a9bc3d5e3a6efb68f2cddbf30444c4cead9f 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   The firmware volume related definitions in PI.\r
 \r
 /** @file\r
   The firmware volume related definitions in PI.\r
 \r
-  Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>\r
+  Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>\r
 \r
   This program and the accompanying materials are licensed and made available\r
   under the terms and conditions of the BSD License which accompanies this\r
 \r
   This program and the accompanying materials are licensed and made available\r
   under the terms and conditions of the BSD License which accompanies this\r
@@ -14,7 +14,7 @@
   File Name: PiFirmwareVolume.h\r
 \r
   @par Revision Reference:\r
   File Name: PiFirmwareVolume.h\r
 \r
   @par Revision Reference:\r
-  Version 1.0.\r
+  Version 1.2C\r
 \r
 **/\r
 \r
 \r
 **/\r
 \r
@@ -33,7 +33,7 @@ typedef UINT32  EFI_FV_FILE_ATTRIBUTES;
 #define EFI_FV_FILE_ATTRIB_FIXED          0x00000100\r
 #define EFI_FV_FILE_ATTRIB_MEMORY_MAPPED  0x00000200\r
 \r
 #define EFI_FV_FILE_ATTRIB_FIXED          0x00000100\r
 #define EFI_FV_FILE_ATTRIB_MEMORY_MAPPED  0x00000200\r
 \r
-typedef UINT32  EFI_FVB_ATTRIBUTES;\r
+typedef UINT32  EFI_FVB_ATTRIBUTES_2;\r
 \r
 // \r
 // Attributes bit definitions\r
 \r
 // \r
 // Attributes bit definitions\r
@@ -54,6 +54,7 @@ typedef UINT32  EFI_FVB_ATTRIBUTES;
 #define EFI_FVB2_WRITE_LOCK_CAP     0x00004000\r
 #define EFI_FVB2_WRITE_LOCK_STATUS  0x00008000\r
 #define EFI_FVB2_ALIGNMENT          0x001F0000\r
 #define EFI_FVB2_WRITE_LOCK_CAP     0x00004000\r
 #define EFI_FVB2_WRITE_LOCK_STATUS  0x00008000\r
 #define EFI_FVB2_ALIGNMENT          0x001F0000\r
+#define EFI_FVB2_WEAK_ALIGNMENT     0x80000000\r
 #define EFI_FVB2_ALIGNMENT_1        0x00000000\r
 #define EFI_FVB2_ALIGNMENT_2        0x00010000\r
 #define EFI_FVB2_ALIGNMENT_4        0x00020000\r
 #define EFI_FVB2_ALIGNMENT_1        0x00000000\r
 #define EFI_FVB2_ALIGNMENT_2        0x00010000\r
 #define EFI_FVB2_ALIGNMENT_4        0x00020000\r
@@ -73,7 +74,7 @@ typedef UINT32  EFI_FVB_ATTRIBUTES;
 #define EFI_FVB2_ALIGNMENT_64K      0x00100000\r
 #define EFI_FVB2_ALIGNMENT_128K     0x00110000\r
 #define EFI_FVB2_ALIGNMENT_256K     0x00120000\r
 #define EFI_FVB2_ALIGNMENT_64K      0x00100000\r
 #define EFI_FVB2_ALIGNMENT_128K     0x00110000\r
 #define EFI_FVB2_ALIGNMENT_256K     0x00120000\r
-#define EFI_FVB2_ALIGNMNET_512K     0x00130000\r
+#define EFI_FVB2_ALIGNMENT_512K     0x00130000\r
 #define EFI_FVB2_ALIGNMENT_1M       0x00140000\r
 #define EFI_FVB2_ALIGNMENT_2M       0x00150000\r
 #define EFI_FVB2_ALIGNMENT_4M       0x00160000\r
 #define EFI_FVB2_ALIGNMENT_1M       0x00140000\r
 #define EFI_FVB2_ALIGNMENT_2M       0x00150000\r
 #define EFI_FVB2_ALIGNMENT_4M       0x00160000\r
@@ -101,7 +102,7 @@ typedef struct {
   EFI_GUID                  FileSystemGuid;\r
   UINT64                    FvLength;\r
   UINT32                    Signature;\r
   EFI_GUID                  FileSystemGuid;\r
   UINT64                    FvLength;\r
   UINT32                    Signature;\r
-  EFI_FVB_ATTRIBUTES        Attributes;\r
+  EFI_FVB_ATTRIBUTES_2      Attributes;\r
   UINT16                    HeaderLength;\r
   UINT16                    Checksum;\r
   UINT16                    ExtHeaderOffset;\r
   UINT16                    HeaderLength;\r
   UINT16                    Checksum;\r
   UINT16                    ExtHeaderOffset;\r
@@ -110,7 +111,7 @@ typedef struct {
   EFI_FV_BLOCK_MAP_ENTRY    BlockMap[1];\r
 } EFI_FIRMWARE_VOLUME_HEADER;\r
 \r
   EFI_FV_BLOCK_MAP_ENTRY    BlockMap[1];\r
 } EFI_FIRMWARE_VOLUME_HEADER;\r
 \r
-#define EFI_FVH_SIGNATURE EFI_SIGNATURE_32 ('_', 'F', 'V', 'H')\r
+#define EFI_FVH_SIGNATURE SIGNATURE_32 ('_', 'F', 'V', 'H')\r
 \r
 ///\r
 /// Firmware Volume Header Revision definition\r
 \r
 ///\r
 /// Firmware Volume Header Revision definition\r
@@ -139,8 +140,20 @@ typedef struct {
   // Array of GUIDs. \r
   // Each GUID represents an OEM file type.\r
   // \r
   // Array of GUIDs. \r
   // Each GUID represents an OEM file type.\r
   // \r
-  EFI_GUID  Types[1];\r
+  // EFI_GUID  Types[1];\r
+  //\r
 } EFI_FIRMWARE_VOLUME_EXT_ENTRY_OEM_TYPE;\r
 \r
 } EFI_FIRMWARE_VOLUME_EXT_ENTRY_OEM_TYPE;\r
 \r
+#define EFI_FV_EXT_TYPE_GUID_TYPE 0x0002\r
+typedef struct {\r
+  EFI_FIRMWARE_VOLUME_EXT_ENTRY     Hdr;\r
+  EFI_GUID                          FormatType;\r
+\r
+  //\r
+  // An arry of bytes of length Length.\r
+  //\r
+  // UINT8                             Data[1];\r
+  //\r
+} EFI_FIRMWARE_VOLUME_EXT_ENTRY_GUID_TYPE;\r
 \r
 #endif\r
 \r
 #endif\r