aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Newsome <tim@sifive.com>2018-05-01 14:12:48 -0700
committerGitHub <noreply@github.com>2018-05-01 14:12:48 -0700
commit292180fb44078275024980ae9a47ebbeea7c0c8a (patch)
tree8c14073af3dc5ebbb8ea2b220fdfa69831276a99
parent15993bc8db71aa6fd12c208917e45512d07ff885 (diff)
parent31494f68a45953b81483c8064ff82e5330dd1a10 (diff)
downloadriscv-openocd-292180fb44078275024980ae9a47ebbeea7c0c8a.zip
riscv-openocd-292180fb44078275024980ae9a47ebbeea7c0c8a.tar.gz
riscv-openocd-292180fb44078275024980ae9a47ebbeea7c0c8a.tar.bz2
Merge pull request #246 from darius-bluespec/sysbus-bugfix
Bug fixes for system bus access
-rw-r--r--src/target/riscv/riscv-013.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/target/riscv/riscv-013.c b/src/target/riscv/riscv-013.c
index 4488bda..d9b52e4 100644
--- a/src/target/riscv/riscv-013.c
+++ b/src/target/riscv/riscv-013.c
@@ -1806,8 +1806,8 @@ static int read_sbcs_nonbusy(struct target *target, uint32_t *sbcs)
LOG_ERROR("Timed out after %ds waiting for sbbusy to go low (sbcs=0x%x). "
"Increase the timeout with riscv set_command_timeout_sec.",
riscv_command_timeout_sec, *sbcs);
+ return ERROR_FAIL;
}
- return ERROR_FAIL;
}
}
@@ -1935,6 +1935,7 @@ static int read_memory_bus_v1(struct target *target, target_addr_t address,
dmi_write(target, DMI_SBCS, DMI_SBCS_SBBUSYERROR);
next_address = sb_read_address(target);
info->bus_master_read_delay += info->bus_master_read_delay / 10 + 1;
+ continue;
}
unsigned error = get_field(sbcs, DMI_SBCS_SBERROR);
@@ -2373,6 +2374,7 @@ static int write_memory_bus_v1(struct target *target, target_addr_t address,
dmi_write(target, DMI_SBCS, DMI_SBCS_SBBUSYERROR);
next_address = sb_read_address(target);
info->bus_master_write_delay += info->bus_master_write_delay / 10 + 1;
+ continue;
}
unsigned error = get_field(sbcs, DMI_SBCS_SBERROR);