return true;
}
- gs.dr_write32(0, csrr(S0, CSR_TDATA0));
+ gs.dr_write32(0, csrr(S0, CSR_TDATA1));
gs.dr_write_store(1, S0, SLOT_DATA0);
gs.dr_write_jump(2);
state = STATE_CHECK_MCONTROL;
!get_field(mcontrol, MCONTROL_STORE)) {
// Found an unused trigger.
gs.dr_write_load(0, S0, SLOT_DATA1);
- gs.dr_write32(1, csrw(S0, CSR_TDATA0));
+ gs.dr_write32(1, csrw(S0, CSR_TDATA1));
gs.dr_write_jump(2);
mcontrol = set_field(0, MCONTROL_ACTION, MCONTROL_ACTION_DEBUG_MODE);
mcontrol = set_field(mcontrol, MCONTROL_MATCH, MCONTROL_MATCH_EQUAL);
case STATE_WRITE_ADDRESS:
{
gs.dr_write_load(0, S0, SLOT_DATA1);
- gs.dr_write32(1, csrw(S0, CSR_TDATA1));
+ gs.dr_write32(1, csrw(S0, CSR_TDATA2));
gs.dr_write_jump(2);
gs.dr_write(SLOT_DATA1, bp.vaddr);
gs.set_interrupt(0);
bool perform_step(unsigned int step) {
gs.dr_write32(0, addi(S0, ZERO, bp.index));
gs.dr_write32(1, csrw(S0, CSR_TSELECT));
- gs.dr_write32(2, csrw(ZERO, CSR_TDATA0));
+ gs.dr_write32(2, csrw(ZERO, CSR_TDATA1));
gs.dr_write_jump(3);
gs.set_interrupt(0);
return true;