aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvgeniy Naydanov <109669442+en-sc@users.noreply.github.com>2024-04-14 16:58:10 +0300
committerGitHub <noreply@github.com>2024-04-14 16:58:10 +0300
commit93f6260621069954782d1108092e0cc51696e075 (patch)
tree568e9d9ad70306cdce5cbd564aed66724ea710ad
parent27fbc2767a468d98db80b7fea89e93837d5595c4 (diff)
parent9c45c9f4bed24c54ac736b15399f889b25e68fe6 (diff)
downloadriscv-openocd-93f6260621069954782d1108092e0cc51696e075.zip
riscv-openocd-93f6260621069954782d1108092e0cc51696e075.tar.gz
riscv-openocd-93f6260621069954782d1108092e0cc51696e075.tar.bz2
Merge pull request #1039 from en-sc/en-sc/running-cache
target/riscv: read registers are not valid on a running target
-rw-r--r--src/target/riscv/riscv.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/target/riscv/riscv.c b/src/target/riscv/riscv.c
index 60c26ba..5b994ee 100644
--- a/src/target/riscv/riscv.c
+++ b/src/target/riscv/riscv.c
@@ -5260,7 +5260,8 @@ int riscv_get_register(struct target *target, riscv_reg_t *value,
return ERROR_FAIL;
buf_set_u64(reg->value, 0, reg->size, *value);
- reg->valid = gdb_regno_cacheable(regid, /* is write? */ false);
+ reg->valid = gdb_regno_cacheable(regid, /* is write? */ false) &&
+ target->state == TARGET_HALTED;
reg->dirty = false;
LOG_TARGET_DEBUG(target, "Read %s: 0x%" PRIx64, reg->name, *value);