Browse Source

Correct address autoincrement calls. (#263)

Now we do what the spec says we should do. This ended up not having any
effect on the current way OpenOCD performs system bus accesses.
pull/255/merge
Tim Newsome 7 years ago
committed by Andrew Waterman
parent
commit
ba04fcfd1c
  1. 7
      riscv/debug_module.cc

7
riscv/debug_module.cc

@ -459,10 +459,12 @@ bool debug_module_t::dmi_read(unsigned address, uint32_t *value)
case DMI_SBDATA0:
result = sbdata[0];
if (sbcs.error == 0) {
sb_autoincrement();
if (sbcs.readondata) {
sb_read();
}
if (sbcs.error == 0) {
sb_autoincrement();
}
}
break;
case DMI_SBDATA1:
@ -737,6 +739,7 @@ bool debug_module_t::dmi_write(unsigned address, uint32_t value)
sbaddress[0] = value;
if (sbcs.error == 0 && sbcs.readonaddr) {
sb_read();
sb_autoincrement();
}
return true;
case DMI_SBADDRESS1:
@ -752,7 +755,7 @@ bool debug_module_t::dmi_write(unsigned address, uint32_t value)
sbdata[0] = value;
if (sbcs.error == 0) {
sb_write();
if (sbcs.autoincrement && sbcs.error == 0) {
if (sbcs.error == 0) {
sb_autoincrement();
}
}

Loading…
Cancel
Save