diff options
author | Tim Newsome <tim@sifive.com> | 2017-08-13 11:03:12 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-08-13 11:03:12 -0700 |
commit | 1af0c09a85f9da54d2aba741c71084dad3f1cedf (patch) | |
tree | 11f9a55194285bcb657fe58b9799b2efff387bcd | |
parent | 96eb73c83e24e1a448392a52236811f3711437e3 (diff) | |
parent | 3109da7dfd90885261d0d8ad58b62a1a083b10d9 (diff) | |
download | riscv-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.c | 5 |
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); |