diff --git a/doc/openocd.texi b/doc/openocd.texi index 092de7d37..2767d7874 100644 --- a/doc/openocd.texi +++ b/doc/openocd.texi @@ -5535,10 +5535,17 @@ that is not currently supported in OpenOCD.) Disassembles @var{count} instructions starting at @var{address}. If @var{count} is not specified, a single instruction is disassembled. If @option{thumb} is specified, or the low bit of the address is set, -Thumb (16-bit) instructions are used; +Thumb2 (mixed 16/32-bit) instructions are used; else ARM (32-bit) instructions are used. (Processors may also support the Jazelle state, but those instructions are not currently understood by OpenOCD.) + +Note that all Thumb instructions are Thumb2 instructions, +so older processors (without Thumb2 support) will still +see correct disassembly of Thumb code. +Also, ThumbEE opcodes are the same as Thumb2, +with a handful of exceptions. +ThumbEE disassembly currently has no explicit support. @end deffn @deffn Command {arm reg} @@ -5941,23 +5948,6 @@ Displays the number of extra tck for mem-ap memory bus access [0-255]. If @var{value} is defined, first assigns that. @end deffn -@subsection ARMv7-A specific commands -@cindex ARMv7-A - -@deffn Command {armv7a disassemble} address [count [@option{thumb}]] -@cindex disassemble -Disassembles @var{count} instructions starting at @var{address}. -If @var{count} is not specified, a single instruction is disassembled. -If @option{thumb} is specified, or the low bit of the address is set, -Thumb2 (mixed 16/32-bit) instructions are used; -else ARM (32-bit) instructions are used. -With a handful of exceptions, ThumbEE instructions are the same as Thumb2; -ThumbEE disassembly currently has no explicit support. -(Processors may also support the Jazelle state, but -those instructions are not currently understood by OpenOCD.) -@end deffn - - @subsection Cortex-M3 specific commands @cindex Cortex-M3 diff --git a/src/target/armv7a.c b/src/target/armv7a.c index 7f2c387df..8b163360a 100644 --- a/src/target/armv7a.c +++ b/src/target/armv7a.c @@ -274,84 +274,9 @@ COMMAND_HANDLER(handle_dap_info_command) return dap_info_command(cmd_ctx, swjdp, apsel); } -COMMAND_HANDLER(handle_armv7a_disassemble_command) -{ - struct target *target = get_current_target(cmd_ctx); - struct armv4_5_common_s *armv4_5 = target_to_armv4_5(target); - int thumb = 0; - int count = 1; - uint32_t address; - int i; - - if (armv4_5->common_magic != ARMV4_5_COMMON_MAGIC) { - command_print(cmd_ctx, "current target isn't an ARM target"); - return ERROR_OK; - } - - /* REVISIT: eventually support ThumbEE disassembly too; - * some opcodes work differently. - */ - - switch (argc) { - case 3: - if (strcmp(args[2], "thumb") != 0) - goto usage; - thumb = 1; - /* FALL THROUGH */ - case 2: - COMMAND_PARSE_NUMBER(int, args[1], count); - /* FALL THROUGH */ - case 1: - COMMAND_PARSE_NUMBER(u32, args[0], address); - if (address & 0x01) { - if (!thumb) { - command_print(cmd_ctx, "Disassemble as Thumb"); - thumb = 1; - } - address &= ~1; - } - break; - default: -usage: - command_print(cmd_ctx, - "usage: armv7a disassemble
[