diff --git a/ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandler.c b/ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandler.c index 07e31ea597..94aacf83a4 100644 --- a/ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandler.c +++ b/ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandler.c @@ -18,7 +18,9 @@ #include #include #include +#include #include +#include #include #include @@ -220,12 +222,17 @@ DefaultExceptionHandler ( IN OUT EFI_SYSTEM_CONTEXT SystemContext ) { + CHAR8 Buffer[100]; + UINTN CharCount; UINT32 DfsrStatus; UINT32 IfsrStatus; BOOLEAN DfsrWrite; UINT32 PcAdjust = 0; - Print(L"\n%a Exception PC at 0x%08x CPSR 0x%08x ", gExceptionTypeString[ExceptionType], SystemContext.SystemContextArm->PC, SystemContext.SystemContextArm->CPSR); + CharCount = AsciiSPrint (Buffer,sizeof (Buffer),"\n%a Exception PC at 0x%08x CPSR 0x%08x ", + gExceptionTypeString[ExceptionType], SystemContext.SystemContextArm->PC, SystemContext.SystemContextArm->CPSR); + SerialPortWrite ((UINT8 *) Buffer, CharCount); + DEBUG_CODE_BEGIN (); CHAR8 *Pdb; UINT32 ImageBase;