aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomas Vanek <vanekt@fbl.cz>2019-06-05 01:09:15 +0200
committerTomas Vanek <vanekt@fbl.cz>2019-06-10 20:35:39 +0100
commit215f14bec87293f549639e6342b6e671faa1e7d1 (patch)
tree782cb6b16b9d94241535c0748ffe18dcac4dcf1c
parent159f11fefc194743a0af6e29e134b184bf26650d (diff)
downloadriscv-openocd-215f14bec87293f549639e6342b6e671faa1e7d1.zip
riscv-openocd-215f14bec87293f549639e6342b6e671faa1e7d1.tar.gz
riscv-openocd-215f14bec87293f549639e6342b6e671faa1e7d1.tar.bz2
target/armv7m: fix register number in armv7m_get_core_reg()
armv7m_get_core_reg() calls arm->read_core_reg() arm->read_core_reg() expects the register number as an index to core reglist, not an ARMv7M specific register code. Use reg->number instead of armv7m_reg->num. The change solves assert src/target/armv7m.c:222: armv7m_read_core_reg: Assertion `num < (int)armv7m->arm.core_cache->num_regs' failed. when gdb 'info reg' is issued on a Cortex-M target and no cortex_m_debug_entry() has been called since OpenOCD start (target was halted before OpenOCD start). Change-Id: I32a2294693ef979b613be93aeceb3b0eb06ee6df Ticket: https://sourceforge.net/p/openocd/tickets/216/ Signed-off-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-on: http://openocd.zylin.com/5203 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
-rw-r--r--src/target/armv7m.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/target/armv7m.c b/src/target/armv7m.c
index 3d73b29..4b37774 100644
--- a/src/target/armv7m.c
+++ b/src/target/armv7m.c
@@ -191,7 +191,7 @@ static int armv7m_get_core_reg(struct reg *reg)
if (target->state != TARGET_HALTED)
return ERROR_TARGET_NOT_HALTED;
- retval = arm->read_core_reg(target, reg, armv7m_reg->num, arm->core_mode);
+ retval = arm->read_core_reg(target, reg, reg->number, arm->core_mode);
return retval;
}