armv4_5: fix output of command 'arm reg'
authorAntonio Borneo <borneo.antonio@gmail.com>
Sat, 21 Nov 2020 23:33:59 +0000 (00:33 +0100)
committerAntonio Borneo <borneo.antonio@gmail.com>
Sat, 5 Dec 2020 23:18:22 +0000 (23:18 +0000)
Commit fc2abe63fd3c ("armv7m: use generic arm::core_mode") adds
two special modes for ARMv6M and ARMv7M in struct arm_mode_data[].
While these modes do not have any additional register to be dumped
by command 'arm reg', the command still prints an header for these
modes but not followed by any register.

Detect the special modes for ARMv6M and ARMv7M and skip them to
avoid printing the useless header.

Change-Id: I04145769e5742624f143c910eebf9a6f6d8e3cdc
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Fixes: fc2abe63fd3c ("armv7m: use generic arm::core_mode")
Reviewed-on: http://openocd.zylin.com/5942
Tested-by: jenkins
src/target/armv4_5.c

index 8ac4825042ae0a63feb52051905fef6f65209ebe..b725853feb33dca840a60c71a194a335e88eb54c 100644 (file)
@@ -856,6 +856,9 @@ COMMAND_HANDLER(handle_armv4_5_reg_command)
                char *sep = "\n";
                char *shadow = "";
 
+               if (!arm_mode_data[mode].n_indices)
+                       continue;
+
                /* label this bank of registers (or shadows) */
                switch (arm_mode_data[mode].psr) {
                        case ARM_MODE_SYS: