/** @file * Main file supporting the transition to PEI Core in Normal World for Versatile Express * * Copyright (c) 2012-2013, ARM Limited. All rights reserved. * * This program and the accompanying materials * are licensed and made available under the terms and conditions of the BSD License * which accompanies this distribution. The full text of the license may be found at * http://opensource.org/licenses/bsd-license.php * * THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, * WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. * **/ #include #include #include "PrePeiCore.h" VOID PeiCommonExceptionEntry ( IN UINT32 Entry, IN UINTN LR ) { CHAR8 Buffer[100]; UINTN CharCount; switch (Entry) { case EXCEPT_AARCH64_SYNCHRONOUS_EXCEPTIONS: CharCount = AsciiSPrint (Buffer,sizeof (Buffer),"Synchronous Exception at 0x%X\n\r", LR); break; case EXCEPT_AARCH64_IRQ: CharCount = AsciiSPrint (Buffer,sizeof (Buffer),"IRQ Exception at 0x%X\n\r", LR); break; case EXCEPT_AARCH64_FIQ: CharCount = AsciiSPrint (Buffer,sizeof (Buffer),"FIQ Exception at 0x%X\n\r", LR); break; case EXCEPT_AARCH64_SERROR: CharCount = AsciiSPrint (Buffer,sizeof (Buffer),"SError/Abort 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); }