StatusCode.h 5.5 KB

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