/**\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
EFI_STATUS Status;\r
UINTN IdtEntryCount;\r
EXCEPTION_HANDLER_TEMPLATE_MAP TemplateMap;\r
IA32_IDT_GATE_DESCRIPTOR *IdtTable;\r
+ RESERVED_VECTORS_DATA *ReservedVectors;\r
\r
- mReservedVectors = mReservedVectorsData;\r
- SetMem ((VOID *) mReservedVectors, sizeof (RESERVED_VECTORS_DATA) * CPU_EXCEPTION_NUM, 0xff);\r
+ ReservedVectors = ExceptionHandlerData->ReservedVectors;\r
+ SetMem ((VOID *) ReservedVectors, sizeof (RESERVED_VECTORS_DATA) * CPU_EXCEPTION_NUM, 0xff);\r
if (VectorInfo != NULL) {\r
- Status = ReadAndVerifyVectorInfo (VectorInfo, mReservedVectors, CPU_EXCEPTION_NUM);\r
+ Status = ReadAndVerifyVectorInfo (VectorInfo, ReservedVectors, CPU_EXCEPTION_NUM);\r
if (EFI_ERROR (Status)) {\r
return EFI_INVALID_PARAMETER;\r
}\r