David Brownell <david-b@pacbell.net>:
authorzwelch <zwelch@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Wed, 15 Jul 2009 23:39:37 +0000 (23:39 +0000)
committerzwelch <zwelch@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Wed, 15 Jul 2009 23:39:37 +0000 (23:39 +0000)
commit309870e414548e3cd6634819490239a2efb85a0e
tree9b17f5fa85b726ebea6176032ae790c1a86cdd99
parent2ff59c9aafe2254b13250f269b2efb87f8b73109
David Brownell <david-b@pacbell.net>:

Initial support for disassembling Thumb2 code.  This works only for
Cortex-M3 cores so far.  Eventually other cores will also need Thumb2
support ... but they don't yet support any kind of disassembly.

 - Update the 16-bit Thumb decoder:

     * Understand CPS, REV*, SETEND, {U,S}XT{B,H} opcodes added
       by ARMv6.  (It already seems to treat CPY as MOV.)

     * Understand CB, CBNZ, WFI, IT, and other opcodes added by
       in Thumb2.

 - A new Thumb2 instruction decode routine is provided.

     * This has a different signature:  pass the target, not the
       instruction, so it can fetch a second halfword when needed.
       The instruction size is likewise returned to the caller.

     * 32-bit instructions are recognized but not yet decoded.

 - Start using the current "UAL" syntax in some cases.  "SWI" is
   renamed as "SVC"; "LDMIA" as "LDM"; "STMIA" as "STM".

 - Define a new "cortex_m3 disassemble addr count" command to give
   access to this disassembly.

Sanity checked against "objdump -d" output; a bunch of the new
instructions checked out fine.

git-svn-id: svn://svn.berlios.de/openocd/trunk@2530 b42882b7-edfa-0310-969c-e2dbd0fdcd60
doc/openocd.texi
src/target/arm_disassembler.c
src/target/arm_disassembler.h
src/target/cortex_m3.c