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