aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Newsome <tim@sifive.com>2017-08-13 11:03:12 -0700
committerGitHub <noreply@github.com>2017-08-13 11:03:12 -0700
commit1af0c09a85f9da54d2aba741c71084dad3f1cedf (patch)
tree11f9a55194285bcb657fe58b9799b2efff387bcd
parent96eb73c83e24e1a448392a52236811f3711437e3 (diff)
parent3109da7dfd90885261d0d8ad58b62a1a083b10d9 (diff)
downloadriscv-openocd-1af0c09a85f9da54d2aba741c71084dad3f1cedf.zip
riscv-openocd-1af0c09a85f9da54d2aba741c71084dad3f1cedf.tar.gz
riscv-openocd-1af0c09a85f9da54d2aba741c71084dad3f1cedf.tar.bz2
Merge pull request #92 from riscv/FE_402_fix
Fe 402 fix
-rw-r--r--src/target/riscv/riscv-013.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/target/riscv/riscv-013.c b/src/target/riscv/riscv-013.c
index 747488e..0296ffd 100644
--- a/src/target/riscv/riscv-013.c
+++ b/src/target/riscv/riscv-013.c
@@ -1436,7 +1436,10 @@ static int read_memory(struct target *target, target_addr_t address,
if (this_is_last_read && i == start + reads - 1) {
riscv013_set_autoexec(target, d_data, 0);
- value = riscv_program_read_ram(&program, r_data);
+
+ // access debug buffer without executing a program - this address logic was taken from program.c
+ int const off = (r_data - riscv_debug_buffer_addr(program.target)) / sizeof(program.debug_buffer[0]);
+ value = riscv_read_debug_buffer(target, off);
} else {
uint64_t dmi_out = riscv_batch_get_dmi_read(batch, rereads);
value = get_field(dmi_out, DTM_DMI_DATA);