diff --git a/ArmPkg/Include/Library/ArmDisassemblerLib.h b/ArmPkg/Include/Library/ArmDisassemblerLib.h index 4a3c68c2e3..1e4cfebb1a 100644 --- a/ArmPkg/Include/Library/ArmDisassemblerLib.h +++ b/ArmPkg/Include/Library/ArmDisassemblerLib.h @@ -25,6 +25,7 @@ @param OpCodePtrPtr Pointer to pointer of ARM Thumb 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. @@ -34,6 +35,7 @@ DisassembleInstruction ( IN UINT8 **OpCodePtr, IN BOOLEAN Thumb, IN BOOLEAN Extended, + IN OUT UINT32 *ItBlock, OUT CHAR8 *Buf, OUT UINTN Size ); diff --git a/ArmPkg/Library/ArmDisassemblerLib/ThumbDisassembler.c b/ArmPkg/Library/ArmDisassemblerLib/ThumbDisassembler.c index c2df0d4c72..75d0f1c687 100644 --- a/ArmPkg/Library/ArmDisassemblerLib/ThumbDisassembler.c +++ b/ArmPkg/Library/ArmDisassemblerLib/ThumbDisassembler.c @@ -57,6 +57,7 @@ extern CHAR8 *gReg[]; #define ENDIAN_FORMAT 21 #define DATA_CBZ 22 #define ADR_FORMAT 23 +#define IT_BLOCK 24 // Thumb2 address modes #define B_T3 200 @@ -110,7 +111,7 @@ typedef struct { THUMB_INSTRUCTIONS gOpThumb[] = { // Thumb 16-bit instrucitons // Op Mask Format - { "ADC" , 0x4140, 0xffc0, DATA_FORMAT5 }, + { "ADC" , 0x4140, 0xffc0, DATA_FORMAT5 }, // ADC , { "ADR", 0xa000, 0xf800, ADR_FORMAT }, // ADR ,