X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=src%2Ftarget%2Farm_dpm.c;h=f9b30c18722c8732d7d6db5934ac59ccec0f8041;hb=6738e447c5c010c4b3451e3714df86e9ab653e1f;hp=65790995ad86e0b8e8a6ffaf61fc3ca9f347ca69;hpb=f18ca510b3430a515f28f19ea6c6731a40022fb6;p=openocd.git diff --git a/src/target/arm_dpm.c b/src/target/arm_dpm.c index 65790995ad..f9b30c1872 100644 --- a/src/target/arm_dpm.c +++ b/src/target/arm_dpm.c @@ -587,11 +587,13 @@ int arm_dpm_write_dirty_registers(struct arm_dpm *dpm, bool bpwp) goto done; arm->pc->dirty = false; - /* flush R0 -- it's *very* dirty by now */ - retval = dpm_write_reg(dpm, &cache->reg_list[0], 0); - if (retval != ERROR_OK) - goto done; - cache->reg_list[0].dirty = false; + /* flush R0 and R1 (our scratch registers) */ + for (unsigned i = 0; i < 2; i++) { + retval = dpm_write_reg(dpm, &cache->reg_list[i], i); + if (retval != ERROR_OK) + goto done; + cache->reg_list[i].dirty = false; + } /* (void) */ dpm->finish(dpm); done: