aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPalmer Dabbelt <palmer@dabbelt.com>2018-06-01 00:26:16 -0700
committerPalmer Dabbelt <palmer@dabbelt.com>2018-06-01 00:26:16 -0700
commit7a8e6f7868adef7596c135f864ebbdaa60356851 (patch)
treeba604583d553179adb32d0d9156010d04fa0a292
parent516ff59f6d4b4fc871cc171b1fbe5b5889f9c5b0 (diff)
downloadriscv-openocd-7a8e6f7868adef7596c135f864ebbdaa60356851.zip
riscv-openocd-7a8e6f7868adef7596c135f864ebbdaa60356851.tar.gz
riscv-openocd-7a8e6f7868adef7596c135f864ebbdaa60356851.tar.bz2
Also increment read
-rw-r--r--src/target/riscv/riscv-013.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/target/riscv/riscv-013.c b/src/target/riscv/riscv-013.c
index cd5103f..3d00d29 100644
--- a/src/target/riscv/riscv-013.c
+++ b/src/target/riscv/riscv-013.c
@@ -2075,12 +2075,15 @@ static int read_memory_progbuf(struct target *target, target_addr_t address,
AC_ACCESS_REGISTER_POSTEXEC);
do {
+ LOG_DEBUG("Performing first read at 0x%" PRIx64, read_addr);
result = register_write_direct(target, GDB_REGNO_S0, read_addr);
if (result != ERROR_OK)
goto error;
result = execute_abstract_command(target, command);
riscv013_clear_abstract_error(target);
read_addr += size;
+ if (result != ERROR_OK)
+ receive_addr += size;
} while (result != ERROR_OK && read_addr < fin_addr);
/* First valid read has just triggered. Result is in s1. */