\r
#include "ArchInterruptDefs.h"\r
\r
+#define CPU_EXCEPTION_HANDLER_LIB_HOB_GUID \\r
+ { \\r
+ 0xb21d9148, 0x9211, 0x4d8f, { 0xad, 0xd3, 0x66, 0xb1, 0x89, 0xc9, 0x2c, 0x83 } \\r
+ }\r
+\r
//\r
// Record exception handler information\r
//\r
extern CONST UINT32 mErrorCodeFlag;\r
extern CONST UINTN mImageAlignSize;\r
extern CONST UINTN mDoFarReturnFlag;\r
-extern RESERVED_VECTORS_DATA *mReservedVectors;\r
\r
/**\r
Return address map of exception handler template so that C code can generate\r
/**\r
Save CPU exception context when handling EFI_VECTOR_HANDOFF_HOOK_AFTER case.\r
\r
- @param[in] ExceptionType Exception type.\r
- @param[in] SystemContext Pointer to EFI_SYSTEM_CONTEXT.\r
-\r
+ @param[in] ExceptionType Exception type.\r
+ @param[in] SystemContext Pointer to EFI_SYSTEM_CONTEXT.\r
+ @param[in] ExceptionHandlerData Pointer to exception handler data.\r
**/\r
VOID\r
ArchSaveExceptionContext (\r
- IN UINTN ExceptionType,\r
- IN EFI_SYSTEM_CONTEXT SystemContext \r
+ IN UINTN ExceptionType,\r
+ IN EFI_SYSTEM_CONTEXT SystemContext,\r
+ IN EXCEPTION_HANDLER_DATA *ExceptionHandlerData\r
);\r
\r
/**\r
Restore CPU exception context when handling EFI_VECTOR_HANDOFF_HOOK_AFTER case.\r
\r
- @param[in] ExceptionType Exception type.\r
- @param[in] SystemContext Pointer to EFI_SYSTEM_CONTEXT.\r
-\r
+ @param[in] ExceptionType Exception type.\r
+ @param[in] SystemContext Pointer to EFI_SYSTEM_CONTEXT.\r
+ @param[in] ExceptionHandlerData Pointer to exception handler data.\r
**/\r
VOID\r
ArchRestoreExceptionContext (\r
- IN UINTN ExceptionType,\r
- IN EFI_SYSTEM_CONTEXT SystemContext \r
+ IN UINTN ExceptionType,\r
+ IN EFI_SYSTEM_CONTEXT SystemContext,\r
+ IN EXCEPTION_HANDLER_DATA *ExceptionHandlerData\r
);\r
\r
/**\r
IN EFI_EXCEPTION_TYPE ExceptionType\r
);\r
\r
+/**\r
+ Internal worker function for common exception handler.\r
+\r
+ @param ExceptionType Exception type.\r
+ @param SystemContext Pointer to EFI_SYSTEM_CONTEXT.\r
+ @param ExceptionHandlerData Pointer to exception handler data.\r
+**/\r
+VOID\r
+CommonExceptionHandlerWorker (\r
+ IN EFI_EXCEPTION_TYPE ExceptionType, \r
+ IN EFI_SYSTEM_CONTEXT SystemContext,\r
+ IN EXCEPTION_HANDLER_DATA *ExceptionHandlerData\r
+ );\r
+\r
#endif\r
\r