]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OvmfPkg/Csm/Include/Framework/StatusCode.h
OvmfPkg: Copy the required CSM components from framework packages
[mirror_edk2.git] / OvmfPkg / Csm / Include / Framework / StatusCode.h
diff --git a/OvmfPkg/Csm/Include/Framework/StatusCode.h b/OvmfPkg/Csm/Include/Framework/StatusCode.h
new file mode 100644 (file)
index 0000000..753029c
--- /dev/null
@@ -0,0 +1,155 @@
+/** @file\r
+  Status Code Definitions, according to Intel Platform Innovation Framework\r
+  for EFI Status Codes Specification\r
+\r
+Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
+\r
+  @par Revision Reference:\r
+  Intel Platform Innovation Framework for EFI Status Codes Specification\r
+  Version 0.92.\r
+\r
+**/\r
+\r
+#ifndef _FRAMEWORK_STATUS_CODE_H_\r
+#define _FRAMEWORK_STATUS_CODE_H_\r
+\r
+//\r
+// Required for X64 defines for CPU exception types\r
+//\r
+#include <Protocol/DebugSupport.h>\r
+\r
+///\r
+/// Software Class DXE BS Driver Subclass Progress Code definitions.\r
+///\r
+/// Inconsistent with specification here:\r
+/// The Framework Specification, StatusCodes 0.92, does not define the macros.\r
+///\r
+///@{\r
+#define EFI_SW_DXE_BS_PC_BEGIN_CONNECTING_DRIVERS     (EFI_SUBCLASS_SPECIFIC | 0x00000005)\r
+#define EFI_SW_DXE_BS_PC_VERIFYING_PASSWORD           (EFI_SUBCLASS_SPECIFIC | 0x00000006)\r
+///@}\r
+\r
+///\r
+/// Software Class DXE RT Driver Subclass Progress Code definitions.\r
+///\r
+/// Inconsistent with specification here:\r
+/// The Framework Specification, StatusCodes 0.92, does not define the macros.\r
+///\r
+///@{\r
+#define EFI_SW_DXE_RT_PC_S0 (EFI_SUBCLASS_SPECIFIC | 0x00000000)\r
+#define EFI_SW_DXE_RT_PC_S1 (EFI_SUBCLASS_SPECIFIC | 0x00000001)\r
+#define EFI_SW_DXE_RT_PC_S2 (EFI_SUBCLASS_SPECIFIC | 0x00000002)\r
+#define EFI_SW_DXE_RT_PC_S3 (EFI_SUBCLASS_SPECIFIC | 0x00000003)\r
+#define EFI_SW_DXE_RT_PC_S4 (EFI_SUBCLASS_SPECIFIC | 0x00000004)\r
+#define EFI_SW_DXE_RT_PC_S5 (EFI_SUBCLASS_SPECIFIC | 0x00000005)\r
+///@}\r
+\r
+///\r
+/// Software Subclass definitions.\r
+///\r
+/// Inconsistent with specification here:\r
+/// The Framework Specification, StatusCodes 0.92, does not define the macros.\r
+///\r
+#define EFI_SOFTWARE_X64_EXCEPTION        (EFI_SOFTWARE | 0x00130000)\r
+\r
+///\r
+/// Software Class X64 Exception Subclass Error Code definitions.\r
+/// These exceptions are derived from the debug protocol definitions in the EFI\r
+/// specification.\r
+///\r
+/// Inconsistent with specification here:\r
+/// The Framework Specification, StatusCodes 0.92, does not define the macros.\r
+///\r
+///@{\r
+#define EFI_SW_EC_X64_DIVIDE_ERROR      EXCEPT_X64_DIVIDE_ERROR\r
+#define EFI_SW_EC_X64_DEBUG             EXCEPT_X64_DEBUG\r
+#define EFI_SW_EC_X64_NMI               EXCEPT_X64_NMI\r
+#define EFI_SW_EC_X64_BREAKPOINT        EXCEPT_X64_BREAKPOINT\r
+#define EFI_SW_EC_X64_OVERFLOW          EXCEPT_X64_OVERFLOW\r
+#define EFI_SW_EC_X64_BOUND             EXCEPT_X64_BOUND\r
+#define EFI_SW_EC_X64_INVALID_OPCODE    EXCEPT_X64_INVALID_OPCODE\r
+#define EFI_SW_EC_X64_DOUBLE_FAULT      EXCEPT_X64_DOUBLE_FAULT\r
+#define EFI_SW_EC_X64_INVALID_TSS       EXCEPT_X64_INVALID_TSS\r
+#define EFI_SW_EC_X64_SEG_NOT_PRESENT   EXCEPT_X64_SEG_NOT_PRESENT\r
+#define EFI_SW_EC_X64_STACK_FAULT       EXCEPT_X64_STACK_FAULT\r
+#define EFI_SW_EC_X64_GP_FAULT          EXCEPT_X64_GP_FAULT\r
+#define EFI_SW_EC_X64_PAGE_FAULT        EXCEPT_X64_PAGE_FAULT\r
+#define EFI_SW_EC_X64_FP_ERROR          EXCEPT_X64_FP_ERROR\r
+#define EFI_SW_EC_X64_ALIGNMENT_CHECK   EXCEPT_X64_ALIGNMENT_CHECK\r
+#define EFI_SW_EC_X64_MACHINE_CHECK     EXCEPT_X64_MACHINE_CHECK\r
+#define EFI_SW_EC_X64_SIMD              EXCEPT_X64_SIMD\r
+///@}\r
+\r
+///\r
+/// Software Class EFI After Life Subclass Progress Code definitions.\r
+///\r
+///@{\r
+#define EFI_SW_AL_PC_ENTRY_POINT    (EFI_SUBCLASS_SPECIFIC | 0x00000000)\r
+#define EFI_SW_AL_PC_RETURN_TO_LAST (EFI_SUBCLASS_SPECIFIC | 0x00000001)\r
+///@}\r
+\r
+///\r
+/// Software Class DXE Core Subclass Error Code definitions.\r
+///\r
+/// Inconsistent with specification here:\r
+/// The Framework Specification, StatusCodes 0.92, does not define the macros.\r
+///\r
+#define EFI_SW_CSM_LEGACY_ROM_INIT                (EFI_SUBCLASS_SPECIFIC | 0x00000000)\r
+\r
+///\r
+/// IO Bus Class ATA/ATAPI Subclass Progress Code definitions.\r
+///\r
+///\r
+/// Inconsistent with specification here:\r
+/// The Framework Specification, StatusCodes 0.92, does not define the macros.\r
+///\r
+///@{\r
+#define EFI_IOB_ATA_BUS_SMART_ENABLE          (EFI_SUBCLASS_SPECIFIC | 0x00000000)\r
+#define EFI_IOB_ATA_BUS_SMART_DISABLE         (EFI_SUBCLASS_SPECIFIC | 0x00000001)\r
+#define EFI_IOB_ATA_BUS_SMART_OVERTHRESHOLD   (EFI_SUBCLASS_SPECIFIC | 0x00000002)\r
+#define EFI_IOB_ATA_BUS_SMART_UNDERTHRESHOLD  (EFI_SUBCLASS_SPECIFIC | 0x00000003)\r
+///@}\r
+\r
+///\r
+/// IO Bus Class ATA/ATAPI Subclass Error Code definitions.\r
+///\r
+///\r
+/// Inconsistent with specification here:\r
+/// The Framework Specification, StatusCodes 0.92, does not define the macros.\r
+///\r
+///@{\r
+#define EFI_IOB_ATA_BUS_SMART_NOTSUPPORTED  (EFI_SUBCLASS_SPECIFIC | 0x00000000)\r
+#define EFI_IOB_ATA_BUS_SMART_DISABLED      (EFI_SUBCLASS_SPECIFIC | 0x00000001)\r
+///@}\r
+\r
+///\r
+/// The reason that the processor was disabled.\r
+///\r
+/// Inconsistent with specification here:\r
+/// The Framework Specification, StatusCodes 0.92, does not define the macros.\r
+///\r
+///@{\r
+#define EFI_CPU_CAUSE_NOT_DISABLED              0x0000\r
+///@}\r
+\r
+///\r
+/// Software Class PEI Module Subclass Progress Code definitions.\r
+///\r
+///@{\r
+#define EFI_SW_PEIM_PC_RECOVERY_BEGIN  EFI_SW_PEI_PC_RECOVERY_BEGIN\r
+#define EFI_SW_PEIM_PC_CAPSULE_LOAD    EFI_SW_PEI_PC_CAPSULE_LOAD\r
+#define EFI_SW_PEIM_PC_CAPSULE_START   EFI_SW_PEI_PC_CAPSULE_START\r
+#define EFI_SW_PEIM_PC_RECOVERY_USER   EFI_SW_PEI_PC_RECOVERY_USER\r
+#define EFI_SW_PEIM_PC_RECOVERY_AUTO   EFI_SW_PEI_PC_RECOVERY_AUTO\r
+///@}\r
+\r
+///\r
+/// Software Class PEI Core Subclass Error Code definitions.\r
+///\r
+///@{\r
+#define EFI_SW_PEIM_CORE_EC_DXE_CORRUPT       EFI_SW_PEI_CORE_EC_DXE_CORRUPT\r
+#define EFI_SW_PEIM_CORE_EC_DXEIPL_NOT_FOUND  EFI_SW_PEI_CORE_EC_DXEIPL_NOT_FOUND\r
+///@}\r
+\r
+#endif\r