summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/target/xscale.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/target/xscale.c b/src/target/xscale.c
index 44358bc3..2b8bff16 100644
--- a/src/target/xscale.c
+++ b/src/target/xscale.c
@@ -895,7 +895,7 @@ static int xscale_debug_entry(struct target *target)
struct arm *armv4_5 = &xscale->armv4_5_common;
uint32_t pc;
uint32_t buffer[10];
- int i;
+ unsigned i;
int retval;
uint32_t moe;
@@ -964,6 +964,11 @@ static int xscale_debug_entry(struct target *target)
r->valid = true;
}
+ /* mark xscale regs invalid to ensure they are retrieved from the
+ * debug handler if requested */
+ for (i = 0; i < xscale->reg_cache->num_regs; i++)
+ xscale->reg_cache->reg_list[i].valid = 0;
+
/* examine debug reason */
xscale_read_dcsr(target);
moe = buf_get_u32(xscale->reg_cache->reg_list[XSCALE_DCSR].value, 2, 3);