]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Pi/PiMultiPhase.h
Remove extra #Include
[mirror_edk2.git] / MdePkg / Include / Pi / PiMultiPhase.h
index e31d986e966960af71a29ada8a0607d91552a150..b8decc5fbf87d8ece973ebcb6c1594b814296073 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Include file matches things in PI for multiple module types.\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
   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             \r
 \r
   @par Revision Reference:\r
-  PI Version 1.0\r
+  These elements are defined in UEFI Platform Initialization Specification 1.2 \r
 \r
 **/\r
 \r
 #ifndef __PI_MULTIPHASE_H__\r
 #define __PI_MULTIPHASE_H__\r
 \r
-#include <Uefi/UefiMultiPhase.h>\r
-\r
 #include <Pi/PiFirmwareVolume.h>\r
 #include <Pi/PiFirmwareFile.h>\r
 #include <Pi/PiBootMode.h>\r
-\r
 #include <Pi/PiHob.h>\r
 #include <Pi/PiDependency.h>\r
+#include <Pi/PiStatusCode.h>\r
+#include <Pi/PiS3BootScript.h>\r
+\r
+/**\r
+  Produces an error code in the range reserved for use by the Platform Initialization\r
+  Architecture Specification.\r
 \r
+  The supported 32-bit range is 0xA0000000-0xBFFFFFFF \r
+  The supported 64-bit range is 0xA000000000000000-0xBFFFFFFFFFFFFFFF \r
 \r
-#define EFI_NOT_AVAILABLE_YET   EFIERR (32)\r
+  @param  StatusCode    The status code value to convert into a warning code.  \r
+                        StatusCode must be in the range 0x00000000..0x1FFFFFFF.\r
+\r
+  @return The value specified by StatusCode in the PI reserved range.\r
+\r
+**/\r
+#define DXE_ERROR(StatusCode)  (MAX_BIT | (MAX_BIT >> 2) | StatusCode)\r
 \r
 ///\r
-/// Status Code Type Definition\r
+/// If this value is returned by an EFI image, then the image should be unloaded.\r
 ///\r
-typedef UINT32  EFI_STATUS_CODE_TYPE;\r
-\r
-//\r
-// A Status Code Type is made up of the code type and severity\r
-// All values masked by EFI_STATUS_CODE_RESERVED_MASK are\r
-// reserved for use by this specification.\r
-//\r
-#define EFI_STATUS_CODE_TYPE_MASK     0x000000FF\r
-#define EFI_STATUS_CODE_SEVERITY_MASK 0xFF000000\r
-#define EFI_STATUS_CODE_RESERVED_MASK 0x00FFFF00\r
-\r
-//\r
-// Definition of code types, all other values masked by\r
-// EFI_STATUS_CODE_TYPE_MASK are reserved for use by\r
-// this specification.\r
-//\r
-#define EFI_PROGRESS_CODE             0x00000001\r
-#define EFI_ERROR_CODE                0x00000002\r
-#define EFI_DEBUG_CODE                0x00000003\r
-\r
-//\r
-// Definitions of severities, all other values masked by\r
-// EFI_STATUS_CODE_SEVERITY_MASK are reserved for use by\r
-// this specification.\r
-// Uncontained errors are major errors that could not contained\r
-// to the specific component that is reporting the error\r
-// For example, if a memory error was not detected early enough,\r
-// the bad data could be consumed by other drivers.\r
-//\r
-#define EFI_ERROR_MINOR               0x40000000\r
-#define EFI_ERROR_MAJOR               0x80000000\r
-#define EFI_ERROR_UNRECOVERED         0x90000000\r
-#define EFI_ERROR_UNCONTAINED         0xa0000000\r
+#define EFI_REQUEST_UNLOAD_IMAGE  DXE_ERROR (1)\r
 \r
 ///\r
-/// Status Code Value Definition\r
+/// If this value is returned by an API, it means the capability is not yet \r
+/// installed/available/ready to use.\r
 ///\r
-typedef UINT32 EFI_STATUS_CODE_VALUE;\r
+#define EFI_NOT_AVAILABLE_YET     DXE_ERROR (2)\r
 \r
-//\r
-// A Status Code Value is made up of the class, subclass, and\r
-// an operation.\r
-//\r
-#define EFI_STATUS_CODE_CLASS_MASK      0xFF000000\r
-#define EFI_STATUS_CODE_SUBCLASS_MASK   0x00FF0000\r
-#define EFI_STATUS_CODE_OPERATION_MASK  0x0000FFFF\r
+///\r
+/// Success and warning codes reserved for use by PI\r
+/// Supported 32-bit range is 0x20000000-0x3fffffff\r
+/// Supported 64-bit range is 0x2000000000000000-0x3fffffffffffffff\r
+///\r
+#define PI_ENCODE_WARNING(a)                ((MAX_BIT >> 2) | (a))\r
 \r
 ///\r
-/// Definition of Status Code extended data header.\r
-/// The data will follow HeaderSize bytes from the beginning of\r
-/// the structure and is Size bytes long.\r
+/// Error codes reserved for use by PI\r
+/// Supported 32-bit range is 0xa0000000-0xbfffffff\r
+/// Supported 64-bit range is 0xa000000000000000-0xbfffffffffffffff\r
 ///\r
-typedef struct {\r
-  ///\r
-  /// The size of the structure. This is specified to enable future expansion.\r
-  ///\r
-  UINT16    HeaderSize;\r
-  ///\r
-  /// The size of the data in bytes. This does not include the size of the header structure.\r
-  ///\r
-  UINT16    Size;\r
-  ///\r
-  /// The GUID defining the type of the data.\r
-  ///\r
-  EFI_GUID  Type;\r
-} EFI_STATUS_CODE_DATA;\r
+#define PI_ENCODE_ERROR(a)                  (MAX_BIT | (MAX_BIT >> 2) | (a))\r
+\r
+/// \r
+/// Return status codes defined in SMM CIS\r
+/// \r
+#define EFI_INTERRUPT_PENDING               PI_ENCODE_ERROR (0)\r
 \r
+#define EFI_WARN_INTERRUPT_SOURCE_PENDING   PI_ENCODE_WARNING (0)\r
+#define EFI_WARN_INTERRUPT_SOURCE_QUIESCED  PI_ENCODE_WARNING (1)\r
 \r
 ///\r
-/// Bit values for Authentication Status\r
+/// Bitmask of values for Authentication Status.\r
+/// Authentication Status is returned from EFI_GUIDED_SECTION_EXTRACTION_PROTOCOL \r
+/// and the EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI\r
 ///\r
 /// xx00 Image was not signed.\r
 /// xxx1 Platform security policy override. Assumes same meaning as 0010 (the image was signed, the\r
@@ -111,10 +86,12 @@ typedef struct {
 /// 0110 Image was signed and the signature was not tested.\r
 /// 1010 Image was signed, the signature was tested, and the signature failed the authentication test.\r
 ///\r
+///@{\r
 #define EFI_AUTH_STATUS_PLATFORM_OVERRIDE   0x01\r
 #define EFI_AUTH_STATUS_IMAGE_SIGNED        0x02\r
 #define EFI_AUTH_STATUS_NOT_TESTED          0x04\r
 #define EFI_AUTH_STATUS_TEST_FAILED         0x08\r
 #define EFI_AUTH_STATUS_ALL                 0x0f\r
+///@}\r
 \r
 #endif\r