]> git.proxmox.com Git - mirror_edk2.git/blame - ArmPkg/Include/Library/ArmDisassemblerLib.h
ArmPkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / ArmPkg / Include / Library / ArmDisassemblerLib.h
CommitLineData
1e57a462 1/** @file\r
2\r
3 Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.<BR>\r
4\r
4059386c 5 SPDX-License-Identifier: BSD-2-Clause-Patent\r
1e57a462 6\r
7**/\r
8\r
9#ifndef __ARM_DISASSEBLER_LIB_H__\r
10#define __ARM_DISASSEBLER_LIB_H__\r
11\r
12/**\r
3402aac7
RC
13 Place a dissasembly of of **OpCodePtr into buffer, and update OpCodePtr to\r
14 point to next instructin.\r
15\r
16 We cheat and only decode instructions that access\r
1e57a462 17 memory. If the instruction is not found we dump the instruction in hex.\r
3402aac7
RC
18\r
19 @param OpCodePtrPtr Pointer to pointer of ARM Thumb instruction to disassemble.\r
1e57a462 20 @param Thumb TRUE for Thumb(2), FALSE for ARM instruction stream\r
21 @param Extended TRUE dump hex for instruction too.\r
f3198cba 22 @param ItBlock Size of IT Block\r
1e57a462 23 @param Buf Buffer to sprintf disassembly into.\r
3402aac7
RC
24 @param Size Size of Buf in bytes.\r
25\r
1e57a462 26**/\r
27VOID\r
28DisassembleInstruction (\r
29 IN UINT8 **OpCodePtr,\r
30 IN BOOLEAN Thumb,\r
31 IN BOOLEAN Extended,\r
f3198cba 32 IN OUT UINT32 *ItBlock,\r
1e57a462 33 OUT CHAR8 *Buf,\r
34 OUT UINTN Size\r
35 );\r
3402aac7
RC
36\r
37#endif\r