/** @file\r
Common header file for CPU Exception Handler Library.\r
\r
- Copyright (c) 2012 - 2013, Intel Corporation. All rights reserved.<BR>\r
+ Copyright (c) 2012 - 2016, Intel Corporation. All rights reserved.<BR>\r
This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
UINTN HookAfterStubHeaderStart;\r
} EXCEPTION_HANDLER_TEMPLATE_MAP;\r
\r
+typedef struct {\r
+ UINTN IdtEntryCount;\r
+ SPIN_LOCK DisplayMessageSpinLock;\r
+ RESERVED_VECTORS_DATA *ReservedVectors;\r
+ EFI_CPU_INTERRUPT_HANDLER *ExternalInterruptHandler;\r
+} EXCEPTION_HANDLER_DATA;\r
+\r
extern CONST UINT32 mErrorCodeFlag;\r
extern CONST UINTN mImageAlignSize;\r
extern CONST UINTN mDoFarReturnFlag;\r
/**\r
Internal worker function to initialize exception handler.\r
\r
- @param[in] VectorInfo Pointer to reserved vector list.\r
+ @param[in] VectorInfo Pointer to reserved vector list.\r
+ @param[in, out] ExceptionHandlerData Pointer to exception handler data.\r
\r
@retval EFI_SUCCESS CPU Exception Entries have been successfully initialized \r
with default exception handlers.\r
**/\r
EFI_STATUS\r
InitializeCpuExceptionHandlersWorker (\r
- IN EFI_VECTOR_HANDOFF_INFO *VectorInfo OPTIONAL\r
+ IN EFI_VECTOR_HANDOFF_INFO *VectorInfo OPTIONAL,\r
+ IN OUT EXCEPTION_HANDLER_DATA *ExceptionHandlerData\r
);\r
\r
/**\r
IN UINTN VectorCount\r
);\r
\r
+/**\r
+ Get ASCII format string exception name by exception type.\r
+\r
+ @param ExceptionType Exception type.\r
+\r
+ @return ASCII format string exception name.\r
+**/\r
+CONST CHAR8 *\r
+GetExceptionNameStr (\r
+ IN EFI_EXCEPTION_TYPE ExceptionType\r
+ );\r
+\r
#endif\r
\r