aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Newsome <tim@sifive.com>2023-06-08 09:10:55 -0700
committerGitHub <noreply@github.com>2023-06-08 09:10:55 -0700
commit973c72887c67f0772a875b7e756d66927be22c28 (patch)
tree7e3cc12525b11371a7797bbd4d794c541135a6f9
parentc8d6ffa6f0ba33ad97cfef24554b041845b21a73 (diff)
parentad89d570e7b72c265aba39e9080f7a2622af9621 (diff)
downloadriscv-openocd-973c72887c67f0772a875b7e756d66927be22c28.zip
riscv-openocd-973c72887c67f0772a875b7e756d66927be22c28.tar.gz
riscv-openocd-973c72887c67f0772a875b7e756d66927be22c28.tar.bz2
Merge pull request #860 from riscv/examine_state
target/riscv: set_dcsr_ebreak() while target->state is still changed
-rw-r--r--src/target/riscv/riscv-013.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/target/riscv/riscv-013.c b/src/target/riscv/riscv-013.c
index 5f929ef..35b7c9a 100644
--- a/src/target/riscv/riscv-013.c
+++ b/src/target/riscv/riscv-013.c
@@ -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;