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