1 /** @file 2 Status Code Definitions, according to Intel Platform Innovation Framework 3 for EFI Status Codes Specification 4 5 Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR> 6 This program and the accompanying materials are licensed and made available under 7 the terms and conditions of the BSD License that accompanies this distribution. 8 The full text of the license may be found at 9 http://opensource.org/licenses/bsd-license.php. 10 11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 13 14 @par Revision Reference: 15 Intel Platform Innovation Framework for EFI Status Codes Specification 16 Version 0.92. 17 18 **/ 19 20 #ifndef _FRAMEWORK_STATUS_CODE_H_ 21 #define _FRAMEWORK_STATUS_CODE_H_ 22 23 // 24 // Required for X64 defines for CPU exception types 25 // 26 #include <Protocol/DebugSupport.h> 27 28 /// 29 /// Software Class DXE BS Driver Subclass Progress Code definitions. 30 /// 31 /// Inconsistent with specification here: 32 /// The Framework Specification, StatusCodes 0.92, does not define the macros. 33 /// 34 ///@{ 35 #define EFI_SW_DXE_BS_PC_BEGIN_CONNECTING_DRIVERS (EFI_SUBCLASS_SPECIFIC | 0x00000005) 36 #define EFI_SW_DXE_BS_PC_VERIFYING_PASSWORD (EFI_SUBCLASS_SPECIFIC | 0x00000006) 37 ///@} 38 39 /// 40 /// Software Class DXE RT Driver Subclass Progress Code definitions. 41 /// 42 /// Inconsistent with specification here: 43 /// The Framework Specification, StatusCodes 0.92, does not define the macros. 44 /// 45 ///@{ 46 #define EFI_SW_DXE_RT_PC_S0 (EFI_SUBCLASS_SPECIFIC | 0x00000000) 47 #define EFI_SW_DXE_RT_PC_S1 (EFI_SUBCLASS_SPECIFIC | 0x00000001) 48 #define EFI_SW_DXE_RT_PC_S2 (EFI_SUBCLASS_SPECIFIC | 0x00000002) 49 #define EFI_SW_DXE_RT_PC_S3 (EFI_SUBCLASS_SPECIFIC | 0x00000003) 50 #define EFI_SW_DXE_RT_PC_S4 (EFI_SUBCLASS_SPECIFIC | 0x00000004) 51 #define EFI_SW_DXE_RT_PC_S5 (EFI_SUBCLASS_SPECIFIC | 0x00000005) 52 ///@} 53 54 /// 55 /// Software Subclass definitions. 56 /// 57 /// Inconsistent with specification here: 58 /// The Framework Specification, StatusCodes 0.92, does not define the macros. 59 /// 60 #define EFI_SOFTWARE_X64_EXCEPTION (EFI_SOFTWARE | 0x00130000) 61 62 /// 63 /// Software Class X64 Exception Subclass Error Code definitions. 64 /// These exceptions are derived from the debug protocol definitions in the EFI 65 /// specification. 66 /// 67 /// Inconsistent with specification here: 68 /// The Framework Specification, StatusCodes 0.92, does not define the macros. 69 /// 70 ///@{ 71 #define EFI_SW_EC_X64_DIVIDE_ERROR EXCEPT_X64_DIVIDE_ERROR 72 #define EFI_SW_EC_X64_DEBUG EXCEPT_X64_DEBUG 73 #define EFI_SW_EC_X64_NMI EXCEPT_X64_NMI 74 #define EFI_SW_EC_X64_BREAKPOINT EXCEPT_X64_BREAKPOINT 75 #define EFI_SW_EC_X64_OVERFLOW EXCEPT_X64_OVERFLOW 76 #define EFI_SW_EC_X64_BOUND EXCEPT_X64_BOUND 77 #define EFI_SW_EC_X64_INVALID_OPCODE EXCEPT_X64_INVALID_OPCODE 78 #define EFI_SW_EC_X64_DOUBLE_FAULT EXCEPT_X64_DOUBLE_FAULT 79 #define EFI_SW_EC_X64_INVALID_TSS EXCEPT_X64_INVALID_TSS 80 #define EFI_SW_EC_X64_SEG_NOT_PRESENT EXCEPT_X64_SEG_NOT_PRESENT 81 #define EFI_SW_EC_X64_STACK_FAULT EXCEPT_X64_STACK_FAULT 82 #define EFI_SW_EC_X64_GP_FAULT EXCEPT_X64_GP_FAULT 83 #define EFI_SW_EC_X64_PAGE_FAULT EXCEPT_X64_PAGE_FAULT 84 #define EFI_SW_EC_X64_FP_ERROR EXCEPT_X64_FP_ERROR 85 #define EFI_SW_EC_X64_ALIGNMENT_CHECK EXCEPT_X64_ALIGNMENT_CHECK 86 #define EFI_SW_EC_X64_MACHINE_CHECK EXCEPT_X64_MACHINE_CHECK 87 #define EFI_SW_EC_X64_SIMD EXCEPT_X64_SIMD 88 ///@} 89 90 /// 91 /// Software Class EFI After Life Subclass Progress Code definitions. 92 /// 93 ///@{ 94 #define EFI_SW_AL_PC_ENTRY_POINT (EFI_SUBCLASS_SPECIFIC | 0x00000000) 95 #define EFI_SW_AL_PC_RETURN_TO_LAST (EFI_SUBCLASS_SPECIFIC | 0x00000001) 96 ///@} 97 98 /// 99 /// Software Class DXE Core Subclass Error Code definitions. 100 /// 101 /// Inconsistent with specification here: 102 /// The Framework Specification, StatusCodes 0.92, does not define the macros. 103 /// 104 #define EFI_SW_CSM_LEGACY_ROM_INIT (EFI_SUBCLASS_SPECIFIC | 0x00000000) 105 106 /// 107 /// IO Bus Class ATA/ATAPI Subclass Progress Code definitions. 108 /// 109 /// 110 /// Inconsistent with specification here: 111 /// The Framework Specification, StatusCodes 0.92, does not define the macros. 112 /// 113 ///@{ 114 #define EFI_IOB_ATA_BUS_SMART_ENABLE (EFI_SUBCLASS_SPECIFIC | 0x00000000) 115 #define EFI_IOB_ATA_BUS_SMART_DISABLE (EFI_SUBCLASS_SPECIFIC | 0x00000001) 116 #define EFI_IOB_ATA_BUS_SMART_OVERTHRESHOLD (EFI_SUBCLASS_SPECIFIC | 0x00000002) 117 #define EFI_IOB_ATA_BUS_SMART_UNDERTHRESHOLD (EFI_SUBCLASS_SPECIFIC | 0x00000003) 118 ///@} 119 120 /// 121 /// IO Bus Class ATA/ATAPI Subclass Error Code definitions. 122 /// 123 /// 124 /// Inconsistent with specification here: 125 /// The Framework Specification, StatusCodes 0.92, does not define the macros. 126 /// 127 ///@{ 128 #define EFI_IOB_ATA_BUS_SMART_NOTSUPPORTED (EFI_SUBCLASS_SPECIFIC | 0x00000000) 129 #define EFI_IOB_ATA_BUS_SMART_DISABLED (EFI_SUBCLASS_SPECIFIC | 0x00000001) 130 ///@} 131 132 /// 133 /// The reason that the processor was disabled. 134 /// 135 /// Inconsistent with specification here: 136 /// The Framework Specification, StatusCodes 0.92, does not define the macros. 137 /// 138 ///@{ 139 #define EFI_CPU_CAUSE_NOT_DISABLED 0x0000 140 ///@} 141 142 /// 143 /// Software Class PEI Module Subclass Progress Code definitions. 144 /// 145 ///@{ 146 #define EFI_SW_PEIM_PC_RECOVERY_BEGIN EFI_SW_PEI_PC_RECOVERY_BEGIN 147 #define EFI_SW_PEIM_PC_CAPSULE_LOAD EFI_SW_PEI_PC_CAPSULE_LOAD 148 #define EFI_SW_PEIM_PC_CAPSULE_START EFI_SW_PEI_PC_CAPSULE_START 149 #define EFI_SW_PEIM_PC_RECOVERY_USER EFI_SW_PEI_PC_RECOVERY_USER 150 #define EFI_SW_PEIM_PC_RECOVERY_AUTO EFI_SW_PEI_PC_RECOVERY_AUTO 151 ///@} 152 153 /// 154 /// Software Class PEI Core Subclass Error Code definitions. 155 /// 156 ///@{ 157 #define EFI_SW_PEIM_CORE_EC_DXE_CORRUPT EFI_SW_PEI_CORE_EC_DXE_CORRUPT 158 #define EFI_SW_PEIM_CORE_EC_DXEIPL_NOT_FOUND EFI_SW_PEI_CORE_EC_DXEIPL_NOT_FOUND 159 ///@} 160 161 #endif 162