/** @file | |
Default exception handler | |
Copyright (c) 2014, 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 <Base.h> | |
#include <Library/BaseLib.h> | |
#include <Library/PrintLib.h> | |
#include <Library/ArmDisassemblerLib.h> | |
/** | |
Place a disassembly of of **OpCodePtr into buffer, and update OpCodePtr to | |
point to next instruction. | |
@param OpCodePtrPtr Pointer to pointer of instruction to disassemble. | |
@param Thumb TRUE for Thumb(2), FALSE for ARM instruction stream | |
@param Extended TRUE dump hex for instruction too. | |
@param ItBlock Size of IT Block | |
@param Buf Buffer to sprintf disassembly into. | |
@param Size Size of Buf in bytes. | |
**/ | |
VOID | |
DisassembleInstruction ( | |
IN UINT8 **OpCodePtr, | |
IN BOOLEAN Thumb, | |
IN BOOLEAN Extended, | |
IN OUT UINT32 *ItBlock, | |
OUT CHAR8 *Buf, | |
OUT UINTN Size | |
) | |
{ | |
// Not yet supported for AArch64. | |
// Put error in the buffer as we have no return code and the buffer may be | |
// printed directly so needs a '\0'. | |
AsciiSPrint (Buf, Size, "AArch64 not supported"); | |
return; | |
} |