From 097bd461c4219edb62f4595ce7ccc6ec3bb34db9 Mon Sep 17 00:00:00 2001 From: andrewfish Date: Mon, 1 Feb 2010 18:25:18 +0000 Subject: Move ARM disassembler into a library. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9902 6f19259b-4bc3-4df7-8a09-765794883524 --- ArmPkg/Include/Library/ArmDisassemblerLib.h | 39 +++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 ArmPkg/Include/Library/ArmDisassemblerLib.h (limited to 'ArmPkg/Include') diff --git a/ArmPkg/Include/Library/ArmDisassemblerLib.h b/ArmPkg/Include/Library/ArmDisassemblerLib.h new file mode 100644 index 0000000000..6ba270fea3 --- /dev/null +++ b/ArmPkg/Include/Library/ArmDisassemblerLib.h @@ -0,0 +1,39 @@ +/** @file + + Copyright (c) 2008-2010 Apple Inc. All rights reserved.
+ + 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. + +**/ + +#ifndef __ARM_DISASSEBLER_LIB_H__ +#define __ARM_DISASSEBLER_LIB_H__ + +/** + Place a dissasembly of of **OpCodePtr into buffer, and update OpCodePtr to + point to next instructin. + + We cheat and only decode instructions that access + memory. If the instruction is not found we dump the instruction in hex. + + @param OpCodePtrPtr Pointer to pointer of ARM Thumb instruction to disassemble. + @param Thumb TRUE for Thumb(2), FALSE for ARM instruction stream + @param Buf Buffer to sprintf disassembly into. + @param Size Size of Buf in bytes. + +**/ +VOID +DisassembleInstruction ( + IN UINT8 **OpCodePtr, + IN BOOLEAN Thumb, + OUT CHAR8 *Buf, + OUT UINTN Size + ); + +#endif -- cgit v1.2.3