From f3198cba84f56f85281b87c4e9bf96e77a934f16 Mon Sep 17 00:00:00 2001 From: andrewfish Date: Fri, 5 Feb 2010 06:50:09 +0000 Subject: [PATCH] Update input of disasmembler to support IfThen construct. Add prototype dos script to build BeagleBoard. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9936 6f19259b-4bc3-4df7-8a09-765794883524 --- ArmPkg/Include/Library/ArmDisassemblerLib.h | 2 + .../ArmDisassemblerLib/ThumbDisassembler.c | 76 ++++++++--- .../DefaultExceptionHandler.c | 4 +- BeagleBoardPkg/Library/EblCmdLib/EblCmdLib.c | 4 +- BeagleBoardPkg/Tools/generate_image.c | 65 +++++---- BeagleBoardPkg/Tools/makefile | 22 ++++ BeagleBoardPkg/Tools/replace.c | 123 ++++++++++++++++++ BeagleBoardPkg/b.bat | 62 +++++++++ 8 files changed, 306 insertions(+), 52 deletions(-) create mode 100755 BeagleBoardPkg/Tools/makefile create mode 100755 BeagleBoardPkg/Tools/replace.c create mode 100755 BeagleBoardPkg/b.bat 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 ,