#define __PI_STATUS_CODE_H__\r
\r
//\r
-// Required for IA32 and IPF defines for CPU exception types\r
+// Required for IA32, X64, IPF, ARM and EBC defines for CPU exception types\r
//\r
#include <Protocol/DebugSupport.h>\r
\r
#define EFI_SOFTWARE_EFI_BOOT_SERVICE (EFI_SOFTWARE | 0x00100000)\r
#define EFI_SOFTWARE_EFI_RUNTIME_SERVICE (EFI_SOFTWARE | 0x00110000)\r
#define EFI_SOFTWARE_EFI_DXE_SERVICE (EFI_SOFTWARE | 0x00120000)\r
+#define EFI_SOFTWARE_X64_EXCEPTION (EFI_SOFTWARE | 0x00130000)\r
+#define EFI_SOFTWARE_ARM_EXCEPTION (EFI_SOFTWARE | 0x00140000)\r
+\r
///@}\r
\r
///\r
#define EFI_SW_RT_PC_RETURN_TO_LAST (EFI_SUBCLASS_SPECIFIC | 0x00000002)\r
///@}\r
\r
+//\r
+// Software Class X64 Exception Subclass Progress Code definitions.\r
+//\r
+\r
+//\r
+// Software Class ARM Exception Subclass Progress Code definitions.\r
+//\r
+\r
//\r
// Software Class EBC Exception Subclass Progress Code definitions.\r
//\r
// Software Class EFI Runtime Service Subclass Error Code definitions.\r
//\r
\r
-//\r
-// Software Class EFI DXE Service Subclass Error Code definitions.\r
-//\r
+///\r
+/// Software Class EFI DXE Service Subclass Error Code definitions.\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
+///@{\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 Class X64 Exception Subclass Error Code definitions.\r
+/// These exceptions are derived from the debug protocol\r
+/// definitions in the EFI specification.\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 ARM Exception Subclass Error Code definitions.\r
+/// These exceptions are derived from the debug protocol\r
+/// definitions in the EFI specification.\r
+///\r
+///@{\r
+#define EFI_SW_EC_ARM_RESET EXCEPT_ARM_RESET \r
+#define EFI_SW_EC_ARM_UNDEFINED_INSTRUCTION EXCEPT_ARM_UNDEFINED_INSTRUCTION \r
+#define EFI_SW_EC_ARM_SOFTWARE_INTERRUPT EXCEPT_ARM_SOFTWARE_INTERRUPT \r
+#define EFI_SW_EC_ARM_PREFETCH_ABORT EXCEPT_ARM_PREFETCH_ABORT\r
+#define EFI_SW_EC_ARM_DATA_ABORT EXCEPT_ARM_DATA_ABORT\r
+#define EFI_SW_EC_ARM_RESERVED EXCEPT_ARM_RESERVED\r
+#define EFI_SW_EC_ARM_IRQ EXCEPT_ARM_IRQ\r
+#define EFI_SW_EC_ARM_FIQ EXCEPT_ARM_FIQ\r
+///@}\r
\r
#endif\r