diff --git a/MdeModulePkg/Universal/DebugSupportDxe/Ia32/PlDebugSupport.c b/MdeModulePkg/Universal/DebugSupportDxe/Ia32/PlDebugSupport.c index 40fe74d8c2..129eee6b2c 100644 --- a/MdeModulePkg/Universal/DebugSupportDxe/Ia32/PlDebugSupport.c +++ b/MdeModulePkg/Universal/DebugSupportDxe/Ia32/PlDebugSupport.c @@ -268,10 +268,10 @@ InterruptDistrubutionHub ( { if (IdtEntryTable[ExceptionType].RegisteredCallback != NULL) { if (ExceptionType != SYSTEM_TIMER_VECTOR) { - IdtEntryTable[ExceptionType].RegisteredCallback (ExceptionType, ContextRecord); + ((EFI_EXCEPTION_CALLBACK)(IdtEntryTable[ExceptionType].RegisteredCallback))(ExceptionType, *(EFI_SYSTEM_CONTEXT *) &ContextRecord); } else { OrigVector = IdtEntryTable[ExceptionType].OrigVector; - IdtEntryTable[ExceptionType].RegisteredCallback (ContextRecord); + ((EFI_PERIODIC_CALLBACK)(IdtEntryTable[ExceptionType].RegisteredCallback))(*(EFI_SYSTEM_CONTEXT *) &ContextRecord); } } }