\r
CONST UINTN mDoFarReturnFlag = 0;\r
\r
-extern SPIN_LOCK mDisplayMessageSpinLock;\r
-extern EFI_CPU_INTERRUPT_HANDLER *mExternalInterruptHandler;\r
-extern RESERVED_VECTORS_DATA mReservedVectorsData[CPU_EXCEPTION_NUM];\r
-extern EFI_CPU_INTERRUPT_HANDLER mExternalInterruptHandlerTable[CPU_EXCEPTION_NUM];\r
+//\r
+// Image align size for DXE/SMM\r
+//\r
+CONST UINTN mImageAlignSize = SIZE_4KB;\r
+\r
+RESERVED_VECTORS_DATA mReservedVectorsData[CPU_EXCEPTION_NUM];\r
+EFI_CPU_INTERRUPT_HANDLER mExternalInterruptHandlerTable[CPU_EXCEPTION_NUM];\r
+UINTN mEnabledInterruptNum = 0;\r
+\r
EXCEPTION_HANDLER_DATA mExceptionHandlerData;\r
\r
+/**\r
+ Common exception handler.\r
+\r
+ @param ExceptionType Exception type.\r
+ @param SystemContext Pointer to EFI_SYSTEM_CONTEXT.\r
+**/\r
+VOID\r
+EFIAPI\r
+CommonExceptionHandler (\r
+ IN EFI_EXCEPTION_TYPE ExceptionType, \r
+ IN EFI_SYSTEM_CONTEXT SystemContext\r
+ )\r
+{\r
+ CommonExceptionHandlerWorker (ExceptionType, SystemContext, &mExceptionHandlerData);\r
+}\r
+\r
/**\r
Initializes all CPU exceptions entries and provides the default exception handlers.\r
\r
return EFI_INVALID_PARAMETER;\r
}\r
}\r
- InitializeSpinLock (&mDisplayMessageSpinLock);\r
+\r
ExternalInterruptHandler = AllocateZeroPool (sizeof (EFI_CPU_INTERRUPT_HANDLER) * CPU_INTERRUPT_NUM);\r
ASSERT (ExternalInterruptHandler != NULL);\r
\r
IN EFI_CPU_INTERRUPT_HANDLER InterruptHandler\r
)\r
{\r
- return RegisterCpuInterruptHandlerWorker (InterruptType, InterruptHandler);\r
+ return RegisterCpuInterruptHandlerWorker (InterruptType, InterruptHandler, &mExceptionHandlerData);\r
}\r