179964ac84ea0ca6c68d0dea38245fa83ff1945d1bxing/** @file
279964ac84ea0ca6c68d0dea38245fa83ff1945d1bxing  Status Code Definitions, according to Intel Platform Innovation Framework
379964ac84ea0ca6c68d0dea38245fa83ff1945d1bxing  for EFI Status Codes Specification
479964ac84ea0ca6c68d0dea38245fa83ff1945d1bxing
52b3687dbb512ccd3cfbb75fa8966c3c93b3c067dhhtianCopyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
6f22f941ed273753a0426d1234869857f19c28664myronporterThis program and the accompanying materials are licensed and made available under
7f22f941ed273753a0426d1234869857f19c28664myronporterthe terms and conditions of the BSD License that accompanies this distribution.
8f22f941ed273753a0426d1234869857f19c28664myronporterThe full text of the license may be found at
9f22f941ed273753a0426d1234869857f19c28664myronporterhttp://opensource.org/licenses/bsd-license.php.
10f22f941ed273753a0426d1234869857f19c28664myronporter
11f22f941ed273753a0426d1234869857f19c28664myronporterTHE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12f22f941ed273753a0426d1234869857f19c28664myronporterWITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
1379964ac84ea0ca6c68d0dea38245fa83ff1945d1bxing
1479964ac84ea0ca6c68d0dea38245fa83ff1945d1bxing  @par Revision Reference:
150f899407a356d80ee211b181878b0b432e7c3fffgikidy  Intel Platform Innovation Framework for EFI Status Codes Specification
1679964ac84ea0ca6c68d0dea38245fa83ff1945d1bxing  Version 0.92.
1779964ac84ea0ca6c68d0dea38245fa83ff1945d1bxing
1879964ac84ea0ca6c68d0dea38245fa83ff1945d1bxing**/
1979964ac84ea0ca6c68d0dea38245fa83ff1945d1bxing
207f586454826cc6b99a03215188166fc4a4949d63mdkinney#ifndef _FRAMEWORK_STATUS_CODE_H_
217f586454826cc6b99a03215188166fc4a4949d63mdkinney#define _FRAMEWORK_STATUS_CODE_H_
2279964ac84ea0ca6c68d0dea38245fa83ff1945d1bxing
2379964ac84ea0ca6c68d0dea38245fa83ff1945d1bxing//
247f586454826cc6b99a03215188166fc4a4949d63mdkinney// Required for X64 defines for CPU exception types
2579964ac84ea0ca6c68d0dea38245fa83ff1945d1bxing//
267f586454826cc6b99a03215188166fc4a4949d63mdkinney#include <Protocol/DebugSupport.h>
2779964ac84ea0ca6c68d0dea38245fa83ff1945d1bxing
28bc34515d50a24419b2a43b49e6b14ffb67dd88ceeric_tian///
29bc34515d50a24419b2a43b49e6b14ffb67dd88ceeric_tian/// Software Class DXE BS Driver Subclass Progress Code definitions.
30c031fd2369b3fcb57aa73584f9e876666d26197djchen///
31c031fd2369b3fcb57aa73584f9e876666d26197djchen/// Inconsistent with specification here:
327f586454826cc6b99a03215188166fc4a4949d63mdkinney/// The Framework Specification, StatusCodes 0.92, does not define the macros.
337f586454826cc6b99a03215188166fc4a4949d63mdkinney///
34bc34515d50a24419b2a43b49e6b14ffb67dd88ceeric_tian///@{
3579964ac84ea0ca6c68d0dea38245fa83ff1945d1bxing#define EFI_SW_DXE_BS_PC_BEGIN_CONNECTING_DRIVERS     (EFI_SUBCLASS_SPECIFIC | 0x00000005)
3679964ac84ea0ca6c68d0dea38245fa83ff1945d1bxing#define EFI_SW_DXE_BS_PC_VERIFYING_PASSWORD           (EFI_SUBCLASS_SPECIFIC | 0x00000006)
37bc34515d50a24419b2a43b49e6b14ffb67dd88ceeric_tian///@}
3879964ac84ea0ca6c68d0dea38245fa83ff1945d1bxing
39c031fd2369b3fcb57aa73584f9e876666d26197djchen///
40bc34515d50a24419b2a43b49e6b14ffb67dd88ceeric_tian/// Software Class DXE RT Driver Subclass Progress Code definitions.
41c031fd2369b3fcb57aa73584f9e876666d26197djchen///
42bc34515d50a24419b2a43b49e6b14ffb67dd88ceeric_tian/// Inconsistent with specification here:
437f586454826cc6b99a03215188166fc4a4949d63mdkinney/// The Framework Specification, StatusCodes 0.92, does not define the macros.
447f586454826cc6b99a03215188166fc4a4949d63mdkinney///
45bc34515d50a24419b2a43b49e6b14ffb67dd88ceeric_tian///@{
4679964ac84ea0ca6c68d0dea38245fa83ff1945d1bxing#define EFI_SW_DXE_RT_PC_S0 (EFI_SUBCLASS_SPECIFIC | 0x00000000)
4779964ac84ea0ca6c68d0dea38245fa83ff1945d1bxing#define EFI_SW_DXE_RT_PC_S1 (EFI_SUBCLASS_SPECIFIC | 0x00000001)
4879964ac84ea0ca6c68d0dea38245fa83ff1945d1bxing#define EFI_SW_DXE_RT_PC_S2 (EFI_SUBCLASS_SPECIFIC | 0x00000002)
4979964ac84ea0ca6c68d0dea38245fa83ff1945d1bxing#define EFI_SW_DXE_RT_PC_S3 (EFI_SUBCLASS_SPECIFIC | 0x00000003)
5079964ac84ea0ca6c68d0dea38245fa83ff1945d1bxing#define EFI_SW_DXE_RT_PC_S4 (EFI_SUBCLASS_SPECIFIC | 0x00000004)
5179964ac84ea0ca6c68d0dea38245fa83ff1945d1bxing#define EFI_SW_DXE_RT_PC_S5 (EFI_SUBCLASS_SPECIFIC | 0x00000005)
52bc34515d50a24419b2a43b49e6b14ffb67dd88ceeric_tian///@}
5379964ac84ea0ca6c68d0dea38245fa83ff1945d1bxing
54bc34515d50a24419b2a43b49e6b14ffb67dd88ceeric_tian///
557f586454826cc6b99a03215188166fc4a4949d63mdkinney/// Software Subclass definitions.
56bc34515d50a24419b2a43b49e6b14ffb67dd88ceeric_tian///
57bc34515d50a24419b2a43b49e6b14ffb67dd88ceeric_tian/// Inconsistent with specification here:
587f586454826cc6b99a03215188166fc4a4949d63mdkinney/// The Framework Specification, StatusCodes 0.92, does not define the macros.
59bc34515d50a24419b2a43b49e6b14ffb67dd88ceeric_tian///
607f586454826cc6b99a03215188166fc4a4949d63mdkinney#define EFI_SOFTWARE_X64_EXCEPTION        (EFI_SOFTWARE | 0x00130000)
6179964ac84ea0ca6c68d0dea38245fa83ff1945d1bxing
62c031fd2369b3fcb57aa73584f9e876666d26197djchen///
63bc34515d50a24419b2a43b49e6b14ffb67dd88ceeric_tian/// Software Class X64 Exception Subclass Error Code definitions.
64bc34515d50a24419b2a43b49e6b14ffb67dd88ceeric_tian/// These exceptions are derived from the debug protocol definitions in the EFI
65bc34515d50a24419b2a43b49e6b14ffb67dd88ceeric_tian/// specification.
66c031fd2369b3fcb57aa73584f9e876666d26197djchen///
67bc34515d50a24419b2a43b49e6b14ffb67dd88ceeric_tian/// Inconsistent with specification here:
687f586454826cc6b99a03215188166fc4a4949d63mdkinney/// The Framework Specification, StatusCodes 0.92, does not define the macros.
697f586454826cc6b99a03215188166fc4a4949d63mdkinney///
70bc34515d50a24419b2a43b49e6b14ffb67dd88ceeric_tian///@{
7151d104f8e3daeeed55015d12c155178eb68aed45klu#define EFI_SW_EC_X64_DIVIDE_ERROR      EXCEPT_X64_DIVIDE_ERROR
7251d104f8e3daeeed55015d12c155178eb68aed45klu#define EFI_SW_EC_X64_DEBUG             EXCEPT_X64_DEBUG
7351d104f8e3daeeed55015d12c155178eb68aed45klu#define EFI_SW_EC_X64_NMI               EXCEPT_X64_NMI
7451d104f8e3daeeed55015d12c155178eb68aed45klu#define EFI_SW_EC_X64_BREAKPOINT        EXCEPT_X64_BREAKPOINT
7551d104f8e3daeeed55015d12c155178eb68aed45klu#define EFI_SW_EC_X64_OVERFLOW          EXCEPT_X64_OVERFLOW
7651d104f8e3daeeed55015d12c155178eb68aed45klu#define EFI_SW_EC_X64_BOUND             EXCEPT_X64_BOUND
7751d104f8e3daeeed55015d12c155178eb68aed45klu#define EFI_SW_EC_X64_INVALID_OPCODE    EXCEPT_X64_INVALID_OPCODE
7851d104f8e3daeeed55015d12c155178eb68aed45klu#define EFI_SW_EC_X64_DOUBLE_FAULT      EXCEPT_X64_DOUBLE_FAULT
7951d104f8e3daeeed55015d12c155178eb68aed45klu#define EFI_SW_EC_X64_INVALID_TSS       EXCEPT_X64_INVALID_TSS
8051d104f8e3daeeed55015d12c155178eb68aed45klu#define EFI_SW_EC_X64_SEG_NOT_PRESENT   EXCEPT_X64_SEG_NOT_PRESENT
8151d104f8e3daeeed55015d12c155178eb68aed45klu#define EFI_SW_EC_X64_STACK_FAULT       EXCEPT_X64_STACK_FAULT
8251d104f8e3daeeed55015d12c155178eb68aed45klu#define EFI_SW_EC_X64_GP_FAULT          EXCEPT_X64_GP_FAULT
8351d104f8e3daeeed55015d12c155178eb68aed45klu#define EFI_SW_EC_X64_PAGE_FAULT        EXCEPT_X64_PAGE_FAULT
8451d104f8e3daeeed55015d12c155178eb68aed45klu#define EFI_SW_EC_X64_FP_ERROR          EXCEPT_X64_FP_ERROR
8551d104f8e3daeeed55015d12c155178eb68aed45klu#define EFI_SW_EC_X64_ALIGNMENT_CHECK   EXCEPT_X64_ALIGNMENT_CHECK
8651d104f8e3daeeed55015d12c155178eb68aed45klu#define EFI_SW_EC_X64_MACHINE_CHECK     EXCEPT_X64_MACHINE_CHECK
8751d104f8e3daeeed55015d12c155178eb68aed45klu#define EFI_SW_EC_X64_SIMD              EXCEPT_X64_SIMD
88bc34515d50a24419b2a43b49e6b14ffb67dd88ceeric_tian///@}
8979964ac84ea0ca6c68d0dea38245fa83ff1945d1bxing
90bc34515d50a24419b2a43b49e6b14ffb67dd88ceeric_tian///
917f586454826cc6b99a03215188166fc4a4949d63mdkinney/// Software Class EFI After Life Subclass Progress Code definitions.
927f586454826cc6b99a03215188166fc4a4949d63mdkinney///
93bc34515d50a24419b2a43b49e6b14ffb67dd88ceeric_tian///@{
947f586454826cc6b99a03215188166fc4a4949d63mdkinney#define EFI_SW_AL_PC_ENTRY_POINT    (EFI_SUBCLASS_SPECIFIC | 0x00000000)
957f586454826cc6b99a03215188166fc4a4949d63mdkinney#define EFI_SW_AL_PC_RETURN_TO_LAST (EFI_SUBCLASS_SPECIFIC | 0x00000001)
96bc34515d50a24419b2a43b49e6b14ffb67dd88ceeric_tian///@}
9779964ac84ea0ca6c68d0dea38245fa83ff1945d1bxing
987f586454826cc6b99a03215188166fc4a4949d63mdkinney///
997f586454826cc6b99a03215188166fc4a4949d63mdkinney/// Software Class DXE Core Subclass Error Code definitions.
1007f586454826cc6b99a03215188166fc4a4949d63mdkinney///
1017f586454826cc6b99a03215188166fc4a4949d63mdkinney/// Inconsistent with specification here:
1027f586454826cc6b99a03215188166fc4a4949d63mdkinney/// The Framework Specification, StatusCodes 0.92, does not define the macros.
1037f586454826cc6b99a03215188166fc4a4949d63mdkinney///
1047f586454826cc6b99a03215188166fc4a4949d63mdkinney#define EFI_SW_CSM_LEGACY_ROM_INIT                (EFI_SUBCLASS_SPECIFIC | 0x00000000)
10579964ac84ea0ca6c68d0dea38245fa83ff1945d1bxing
106bc34515d50a24419b2a43b49e6b14ffb67dd88ceeric_tian///
1077f586454826cc6b99a03215188166fc4a4949d63mdkinney/// IO Bus Class ATA/ATAPI Subclass Progress Code definitions.
1087f586454826cc6b99a03215188166fc4a4949d63mdkinney///
109bc34515d50a24419b2a43b49e6b14ffb67dd88ceeric_tian///
1107f586454826cc6b99a03215188166fc4a4949d63mdkinney/// Inconsistent with specification here:
1117f586454826cc6b99a03215188166fc4a4949d63mdkinney/// The Framework Specification, StatusCodes 0.92, does not define the macros.
1127f586454826cc6b99a03215188166fc4a4949d63mdkinney///
1137f586454826cc6b99a03215188166fc4a4949d63mdkinney///@{
1147f586454826cc6b99a03215188166fc4a4949d63mdkinney#define EFI_IOB_ATA_BUS_SMART_ENABLE          (EFI_SUBCLASS_SPECIFIC | 0x00000000)
1157f586454826cc6b99a03215188166fc4a4949d63mdkinney#define EFI_IOB_ATA_BUS_SMART_DISABLE         (EFI_SUBCLASS_SPECIFIC | 0x00000001)
1167f586454826cc6b99a03215188166fc4a4949d63mdkinney#define EFI_IOB_ATA_BUS_SMART_OVERTHRESHOLD   (EFI_SUBCLASS_SPECIFIC | 0x00000002)
1177f586454826cc6b99a03215188166fc4a4949d63mdkinney#define EFI_IOB_ATA_BUS_SMART_UNDERTHRESHOLD  (EFI_SUBCLASS_SPECIFIC | 0x00000003)
1187f586454826cc6b99a03215188166fc4a4949d63mdkinney///@}
1197f586454826cc6b99a03215188166fc4a4949d63mdkinney
1207f586454826cc6b99a03215188166fc4a4949d63mdkinney///
1217f586454826cc6b99a03215188166fc4a4949d63mdkinney/// IO Bus Class ATA/ATAPI Subclass Error Code definitions.
1227f586454826cc6b99a03215188166fc4a4949d63mdkinney///
1237f586454826cc6b99a03215188166fc4a4949d63mdkinney///
1247f586454826cc6b99a03215188166fc4a4949d63mdkinney/// Inconsistent with specification here:
1257f586454826cc6b99a03215188166fc4a4949d63mdkinney/// The Framework Specification, StatusCodes 0.92, does not define the macros.
1267f586454826cc6b99a03215188166fc4a4949d63mdkinney///
1277f586454826cc6b99a03215188166fc4a4949d63mdkinney///@{
1287f586454826cc6b99a03215188166fc4a4949d63mdkinney#define EFI_IOB_ATA_BUS_SMART_NOTSUPPORTED  (EFI_SUBCLASS_SPECIFIC | 0x00000000)
1297f586454826cc6b99a03215188166fc4a4949d63mdkinney#define EFI_IOB_ATA_BUS_SMART_DISABLED      (EFI_SUBCLASS_SPECIFIC | 0x00000001)
1307f586454826cc6b99a03215188166fc4a4949d63mdkinney///@}
1317f586454826cc6b99a03215188166fc4a4949d63mdkinney
1327f586454826cc6b99a03215188166fc4a4949d63mdkinney///
1337f586454826cc6b99a03215188166fc4a4949d63mdkinney/// The reason that the processor was disabled.
1347f586454826cc6b99a03215188166fc4a4949d63mdkinney///
1357f586454826cc6b99a03215188166fc4a4949d63mdkinney/// Inconsistent with specification here:
1367f586454826cc6b99a03215188166fc4a4949d63mdkinney/// The Framework Specification, StatusCodes 0.92, does not define the macros.
1377f586454826cc6b99a03215188166fc4a4949d63mdkinney///
1387f586454826cc6b99a03215188166fc4a4949d63mdkinney///@{
1397f586454826cc6b99a03215188166fc4a4949d63mdkinney#define EFI_CPU_CAUSE_NOT_DISABLED              0x0000
1407f586454826cc6b99a03215188166fc4a4949d63mdkinney///@}
14179964ac84ea0ca6c68d0dea38245fa83ff1945d1bxing
14255b902c377bf98ccd56b933d61772ddf57ae567dvanjeff///
14355b902c377bf98ccd56b933d61772ddf57ae567dvanjeff/// Software Class PEI Module Subclass Progress Code definitions.
14455b902c377bf98ccd56b933d61772ddf57ae567dvanjeff///
14555b902c377bf98ccd56b933d61772ddf57ae567dvanjeff///@{
14655b902c377bf98ccd56b933d61772ddf57ae567dvanjeff#define EFI_SW_PEIM_PC_RECOVERY_BEGIN  EFI_SW_PEI_PC_RECOVERY_BEGIN
14755b902c377bf98ccd56b933d61772ddf57ae567dvanjeff#define EFI_SW_PEIM_PC_CAPSULE_LOAD    EFI_SW_PEI_PC_CAPSULE_LOAD
14855b902c377bf98ccd56b933d61772ddf57ae567dvanjeff#define EFI_SW_PEIM_PC_CAPSULE_START   EFI_SW_PEI_PC_CAPSULE_START
14955b902c377bf98ccd56b933d61772ddf57ae567dvanjeff#define EFI_SW_PEIM_PC_RECOVERY_USER   EFI_SW_PEI_PC_RECOVERY_USER
15055b902c377bf98ccd56b933d61772ddf57ae567dvanjeff#define EFI_SW_PEIM_PC_RECOVERY_AUTO   EFI_SW_PEI_PC_RECOVERY_AUTO
15155b902c377bf98ccd56b933d61772ddf57ae567dvanjeff///@}
15255b902c377bf98ccd56b933d61772ddf57ae567dvanjeff
15355b902c377bf98ccd56b933d61772ddf57ae567dvanjeff///
15455b902c377bf98ccd56b933d61772ddf57ae567dvanjeff/// Software Class PEI Core Subclass Error Code definitions.
15555b902c377bf98ccd56b933d61772ddf57ae567dvanjeff///
15655b902c377bf98ccd56b933d61772ddf57ae567dvanjeff///@{
15755b902c377bf98ccd56b933d61772ddf57ae567dvanjeff#define EFI_SW_PEIM_CORE_EC_DXE_CORRUPT       EFI_SW_PEI_CORE_EC_DXE_CORRUPT
15855b902c377bf98ccd56b933d61772ddf57ae567dvanjeff#define EFI_SW_PEIM_CORE_EC_DXEIPL_NOT_FOUND  EFI_SW_PEI_CORE_EC_DXEIPL_NOT_FOUND
15955b902c377bf98ccd56b933d61772ddf57ae567dvanjeff///@}
16055b902c377bf98ccd56b933d61772ddf57ae567dvanjeff
16179964ac84ea0ca6c68d0dea38245fa83ff1945d1bxing#endif
162