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