aboutsummaryrefslogtreecommitdiff
path: root/src/target/target.c
diff options
context:
space:
mode:
authorMarek Vrbka <marek.vrbka@codasip.com>2023-11-03 10:48:02 +0100
committerAntonio Borneo <borneo.antonio@gmail.com>2023-11-11 18:03:47 +0000
commit7d1f132cea58017003534a45ad444e55c23fd5be (patch)
tree02b1eb578f5d84785ac202f9ad37eb47455ca7b4 /src/target/target.c
parentcca530c09df312927291f27b010088d38342b1d4 (diff)
downloadriscv-openocd-7d1f132cea58017003534a45ad444e55c23fd5be.zip
riscv-openocd-7d1f132cea58017003534a45ad444e55c23fd5be.tar.gz
riscv-openocd-7d1f132cea58017003534a45ad444e55c23fd5be.tar.bz2
target: Fix get_reg, prevent returning invalid data
This patch forces a read of register from the target in the get_reg command in case the register cache does not hold a valid value at that moment. Note that the command "reg" already handles it correctly, no fix is needed there. Change-Id: I75fad25188e94ee4e06162ab6d600ea24dbf590a Signed-off-by: Marek Vrbka <marek.vrbka@codasip.com> Reviewed-on: https://review.openocd.org/c/openocd/+/7958 Reviewed-by: Jan Matyas <jan.matyas@codasip.com> Reviewed-by: zapb <dev@zapb.de> Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com> Tested-by: jenkins
Diffstat (limited to 'src/target/target.c')
-rw-r--r--src/target/target.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/target/target.c b/src/target/target.c
index 384b4ec..61c2435 100644
--- a/src/target/target.c
+++ b/src/target/target.c
@@ -5149,7 +5149,7 @@ static int target_jim_get_reg(Jim_Interp *interp, int argc,
return JIM_ERR;
}
- if (force) {
+ if (force || !reg->valid) {
int retval = reg->type->get(reg);
if (retval != ERROR_OK) {