From 708284a1accfa01c7a14ea7d7cd588000776d6b7 Mon Sep 17 00:00:00 2001 From: Tarek BOCHKATI Date: Sun, 14 Feb 2021 13:21:36 +0100 Subject: [PATCH] arm_dpm: do not read/write non-existent registers Change-Id: I6a991899bb178ee0c6b41870a45d0a9439d9dc1e Signed-off-by: Tarek BOCHKATI Reviewed-on: http://openocd.zylin.com/6063 Reviewed-by: Antonio Borneo Tested-by: jenkins --- src/target/arm_dpm.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/target/arm_dpm.c b/src/target/arm_dpm.c index 058f0df09..d1f574856 100644 --- a/src/target/arm_dpm.c +++ b/src/target/arm_dpm.c @@ -514,7 +514,7 @@ int arm_dpm_write_dirty_registers(struct arm_dpm *dpm, bool bpwp) continue; if (arm->cpsr == cache->reg_list + i) continue; - if (!cache->reg_list[i].dirty) + if (!cache->reg_list[i].exist || !cache->reg_list[i].dirty) continue; r = cache->reg_list[i].arch_info; @@ -763,7 +763,7 @@ static int arm_dpm_full_context(struct target *target) for (unsigned i = 0; i < cache->num_regs; i++) { struct arm_reg *r; - if (cache->reg_list[i].valid) + if (!cache->reg_list[i].exist || cache->reg_list[i].valid) continue; r = cache->reg_list[i].arch_info; -- 2.30.2