summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>2011-11-01 23:34:14 +0000
committeroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>2011-11-01 23:34:14 +0000
commit7755dfd3a51d67cd4fa9855a6911131aa0f6add8 (patch)
treeb66069640fcf75172506fe9d54899175226bc569
parentce4b2bd4c2ff9447c8d6b6411cea3754c569fe88 (diff)
downloadedk2-platforms-7755dfd3a51d67cd4fa9855a6911131aa0f6add8.tar.xz
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
-rw-r--r--ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandler.c9
1 files changed, 8 insertions, 1 deletions
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 <Library/BaseLib.h>
#include <Library/DebugLib.h>
#include <Library/PeCoffGetEntryPointLib.h>
+#include <Library/PrintLib.h>
#include <Library/ArmDisassemblerLib.h>
+#include <Library/SerialPortLib.h>
#include <Guid/DebugImageInfoTable.h>
#include <Protocol/DebugSupport.h>
@@ -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;