]> git.proxmox.com Git - mirror_edk2.git/blobdiff - UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeException.c
UefiCpuPkg/MpInitLib: Move save/restore interrupt to SwitchBSPWorker()
[mirror_edk2.git] / UefiCpuPkg / Library / CpuExceptionHandlerLib / DxeException.c
index cffb13aea98423d9b080c0a8955b39fd0fc2ea06..a61a52b19ab0ce526122190314a4aca304148b58 100644 (file)
 \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
@@ -96,7 +117,7 @@ InitializeCpuInterruptHandlers (
       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
@@ -179,5 +200,5 @@ RegisterCpuInterruptHandler (
   IN EFI_CPU_INTERRUPT_HANDLER     InterruptHandler\r
   )\r
 {\r
-  return RegisterCpuInterruptHandlerWorker (InterruptType, InterruptHandler);\r
+  return RegisterCpuInterruptHandlerWorker (InterruptType, InterruptHandler, &mExceptionHandlerData);\r
 }\r