/** @file | |
Main file supporting the transition to PEI Core in Normal World for Versatile Express | |
Copyright (c) 2012, ARM Limited. All rights reserved. | |
SPDX-License-Identifier: BSD-2-Clause-Patent | |
**/ | |
#include <Library/PrintLib.h> | |
#include <Library/SerialPortLib.h> | |
#include "PrePeiCore.h" | |
VOID | |
PeiCommonExceptionEntry ( | |
IN UINT32 Entry, | |
IN UINTN LR | |
) | |
{ | |
CHAR8 Buffer[100]; | |
UINTN CharCount; | |
switch (Entry) { | |
case 0: | |
CharCount = AsciiSPrint (Buffer, sizeof (Buffer), "Reset Exception at 0x%X\n\r", LR); | |
break; | |
case 1: | |
CharCount = AsciiSPrint (Buffer, sizeof (Buffer), "Undefined Exception at 0x%X\n\r", LR); | |
break; | |
case 2: | |
CharCount = AsciiSPrint (Buffer, sizeof (Buffer), "SWI Exception at 0x%X\n\r", LR); | |
break; | |
case 3: | |
CharCount = AsciiSPrint (Buffer, sizeof (Buffer), "PrefetchAbort Exception at 0x%X\n\r", LR); | |
break; | |
case 4: | |
CharCount = AsciiSPrint (Buffer, sizeof (Buffer), "DataAbort Exception at 0x%X\n\r", LR); | |
break; | |
case 5: | |
CharCount = AsciiSPrint (Buffer, sizeof (Buffer), "Reserved Exception at 0x%X\n\r", LR); | |
break; | |
case 6: | |
CharCount = AsciiSPrint (Buffer, sizeof (Buffer), "IRQ Exception at 0x%X\n\r", LR); | |
break; | |
case 7: | |
CharCount = AsciiSPrint (Buffer, sizeof (Buffer), "FIQ Exception at 0x%X\n\r", LR); | |
break; | |
default: | |
CharCount = AsciiSPrint (Buffer, sizeof (Buffer), "Unknown Exception at 0x%X\n\r", LR); | |
break; | |
} | |
SerialPortWrite ((UINT8 *)Buffer, CharCount); | |
while (1) { | |
} | |
} |