This is an automated email from Gerrit. Tarek BOCHKATI ([email protected]) just uploaded a new patch set to Gerrit, which you can find at http://openocd.zylin.com/6059
-- gerrit commit 0bd0a994b06601657caaa6e06c77f5990db4d37d Author: Tarek BOCHKATI <[email protected]> Date: Fri Feb 12 21:12:43 2021 +0100 cortex_m: avoid reading and writing non-existent registers Change-Id: Iedc24352c8d3444372da06d00fcec9603540f950 Signed-off-by: Tarek BOCHKATI <[email protected]> diff --git a/src/target/armv7m.c b/src/target/armv7m.c index f14ce0d..fedbdf5 100644 --- a/src/target/armv7m.c +++ b/src/target/armv7m.c @@ -166,10 +166,10 @@ int armv7m_restore_context(struct target *target) * packing of ARMV7M_PMSK_BPRI_FLTMSK_CTRL! * See also comments in the register table above */ for (i = cache->num_regs - 1; i >= 0; i--) { - if (cache->reg_list[i].dirty) { - armv7m->arm.write_core_reg(target, &cache->reg_list[i], i, - ARM_MODE_ANY, cache->reg_list[i].value); - } + struct reg *reg = &cache->reg_list[i]; + + if (reg->exist && reg->dirty) + armv7m->arm.write_core_reg(target, reg, i, ARM_MODE_ANY, reg->value); } return ERROR_OK; diff --git a/src/target/cortex_m.c b/src/target/cortex_m.c index ce2c426..dc60829 100644 --- a/src/target/cortex_m.c +++ b/src/target/cortex_m.c @@ -521,7 +521,7 @@ static int cortex_m_debug_entry(struct target *target) for (i = 0; i < num_regs; i++) { r = &armv7m->arm.core_cache->reg_list[i]; - if (!r->valid) + if (r->exist && !r->valid) arm->read_core_reg(target, r, i, ARM_MODE_ANY); } -- _______________________________________________ OpenOCD-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openocd-devel
