Merge pull request #1011 from en-sc/en-sc/wa-halt-groups

target/riscv: set `state` and `debug_reason` in `riscv_halt_go_all_harts()`
This commit is contained in:
Jan Matyas 2024-02-12 07:51:22 +01:00 committed by GitHub
commit 5d4fa0001e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 6 additions and 0 deletions

View File

@ -1874,6 +1874,12 @@ static int riscv_halt_go_all_harts(struct target *target)
return ERROR_FAIL; return ERROR_FAIL;
if (state == RISCV_STATE_HALTED) { if (state == RISCV_STATE_HALTED) {
LOG_TARGET_DEBUG(target, "Hart is already halted."); LOG_TARGET_DEBUG(target, "Hart is already halted.");
if (target->state != TARGET_HALTED) {
target->state = TARGET_HALTED;
enum riscv_halt_reason halt_reason = riscv_halt_reason(target);
if (set_debug_reason(target, halt_reason) != ERROR_OK)
return ERROR_FAIL;
}
} else { } else {
if (r->halt_go(target) != ERROR_OK) if (r->halt_go(target) != ERROR_OK)
return ERROR_FAIL; return ERROR_FAIL;