/** @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; }