]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Pi/PiFirmwareFile.h
MdePkg/Include: Add management mode FV file type and depex.
[mirror_edk2.git] / MdePkg / Include / Pi / PiFirmwareFile.h
index 1f9442918839bba81572eb0b5272857ebab789aa..16c007fc757d29dcc3a61d183745c865d5c69235 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   The firmware file related definitions in PI.\r
 \r
-Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2006 - 2017, 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
@@ -11,7 +11,7 @@ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 \r
   @par Revision Reference:\r
-  PI Version 1.2.\r
+  PI Version 1.6.\r
 \r
 **/\r
 \r
@@ -71,10 +71,15 @@ typedef UINT8 EFI_FFS_FILE_STATE;
 #define EFI_FV_FILETYPE_DRIVER                0x07\r
 #define EFI_FV_FILETYPE_COMBINED_PEIM_DRIVER  0x08\r
 #define EFI_FV_FILETYPE_APPLICATION           0x09\r
-#define EFI_FV_FILETYPE_SMM                   0x0A\r
+#define EFI_FV_FILETYPE_MM                    0x0A\r
+#define EFI_FV_FILETYPE_SMM                   EFI_FV_FILETYPE_MM\r
 #define EFI_FV_FILETYPE_FIRMWARE_VOLUME_IMAGE 0x0B\r
-#define EFI_FV_FILETYPE_COMBINED_SMM_DXE      0x0C\r
-#define EFI_FV_FILETYPE_SMM_CORE              0x0D\r
+#define EFI_FV_FILETYPE_COMBINED_MM_DXE       0x0C\r
+#define EFI_FV_FILETYPE_COMBINED_SMM_DXE      EFI_FV_FILETYPE_COMBINED_MM_DXE\r
+#define EFI_FV_FILETYPE_MM_CORE               0x0D\r
+#define EFI_FV_FILETYPE_SMM_CORE              EFI_FV_FILETYPE_MM_CORE\r
+#define EFI_FV_FILETYPE_MM_STANDALONE         0x0E\r
+#define EFI_FV_FILETYPE_MM_CORE_STANDALONE    0x0F\r
 #define EFI_FV_FILETYPE_OEM_MIN               0xc0\r
 #define EFI_FV_FILETYPE_OEM_MAX               0xdf\r
 #define EFI_FV_FILETYPE_DEBUG_MIN             0xe0\r
@@ -86,6 +91,7 @@ typedef UINT8 EFI_FFS_FILE_STATE;
 /// FFS File Attributes.\r
 ///\r
 #define FFS_ATTRIB_LARGE_FILE         0x01\r
+#define FFS_ATTRIB_DATA_ALIGNMENT_2   0x02\r
 #define FFS_ATTRIB_FIXED              0x04\r
 #define FFS_ATTRIB_DATA_ALIGNMENT     0x38\r
 #define FFS_ATTRIB_CHECKSUM           0x40\r
@@ -173,7 +179,7 @@ typedef struct {
   /// If FFS_ATTRIB_LARGE_FILE is set in Attributes, then ExtendedSize exists and Size must be set to zero.\r
   /// If FFS_ATTRIB_LARGE_FILE is not set then EFI_FFS_FILE_HEADER is used.\r
   ///\r
-  UINT32                    ExtendedSize;\r
+  UINT64                    ExtendedSize;\r
 } EFI_FFS_FILE_HEADER2;\r
 \r
 #define IS_FFS_FILE2(FfsFileHeaderPtr) \\r
@@ -183,7 +189,7 @@ typedef struct {
     ((UINT32) (*((UINT32 *) ((EFI_FFS_FILE_HEADER *) (UINTN) FfsFileHeaderPtr)->Size) & 0x00ffffff))\r
 \r
 #define FFS_FILE2_SIZE(FfsFileHeaderPtr) \\r
-    (((EFI_FFS_FILE_HEADER2 *) (UINTN) FfsFileHeaderPtr)->ExtendedSize)\r
+    ((UINT32) (((EFI_FFS_FILE_HEADER2 *) (UINTN) FfsFileHeaderPtr)->ExtendedSize))\r
 \r
 typedef UINT8 EFI_SECTION_TYPE;\r
 \r
@@ -216,7 +222,8 @@ typedef UINT8 EFI_SECTION_TYPE;
 #define EFI_SECTION_FREEFORM_SUBTYPE_GUID 0x18\r
 #define EFI_SECTION_RAW                   0x19\r
 #define EFI_SECTION_PEI_DEPEX             0x1B\r
-#define EFI_SECTION_SMM_DEPEX             0x1C\r
+#define EFI_SECTION_MM_DEPEX              0x1C\r
+#define EFI_SECTION_SMM_DEPEX             EFI_SECTION_MM_DEPEX\r
 \r
 ///\r
 /// Common section header.\r