target/riscv: set_dcsr_ebreak() while target->state is still changed
Otherwise it fails. Fixes #859. Change-Id: Ib59e6d840316b881481a9b1e01f9d546e73bf932 Signed-off-by: Tim Newsome <tim@sifive.com>
This commit is contained in:
parent
e0dd44a53c
commit
ad89d570e7
|
@ -1862,9 +1862,6 @@ static int examine(struct target *target)
|
|||
return ERROR_FAIL;
|
||||
}
|
||||
|
||||
target->state = saved_tgt_state;
|
||||
target->debug_reason = saved_dbg_reason;
|
||||
|
||||
/* Now init registers based on what we discovered. */
|
||||
if (riscv_init_registers(target) != ERROR_OK)
|
||||
return ERROR_FAIL;
|
||||
|
@ -1872,6 +1869,9 @@ static int examine(struct target *target)
|
|||
if (update_dcsr(target, false) != ERROR_OK)
|
||||
return ERROR_FAIL;
|
||||
|
||||
target->state = saved_tgt_state;
|
||||
target->debug_reason = saved_dbg_reason;
|
||||
|
||||
if (!halted) {
|
||||
riscv013_step_or_resume_current_hart(target, false);
|
||||
target->state = TARGET_RUNNING;
|
||||
|
|
Loading…
Reference in New Issue