From 7755dfd3a51d67cd4fa9855a6911131aa0f6add8 Mon Sep 17 00:00:00 2001 From: oliviermartin Date: Tue, 1 Nov 2011 23:34:14 +0000 Subject: [PATCH] ArmPkg/DefaultExceptionHandlerLib: Replace the Print() by SerialOutputWrite() function Print() is using the Console Output Protocol that cannot be available at the time of the exception. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12629 6f19259b-4bc3-4df7-8a09-765794883524 --- .../DefaultExceptionHandlerLib/DefaultExceptionHandler.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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;