target/riscv: report info about target during `poll`

Addresses issue #196.

Change-Id: I71146c7bc769cb9727e57da33e9f514eedef9ce4
Signed-off-by: Evgeniy Naydanov <evgeniy.naydanov@syntacore.com>
This commit is contained in:
Evgeniy Naydanov 2024-01-22 18:21:25 +03:00
parent 78a719fad3
commit b503fdef02
1 changed files with 8 additions and 0 deletions

View File

@ -2712,9 +2712,17 @@ static int riscv_get_gdb_reg_list(struct target *target,
static int riscv_arch_state(struct target *target)
{
assert(target->state == TARGET_HALTED);
const bool semihosting_active = target->semihosting &&
target->semihosting->is_active;
LOG_USER("%s halted due to %s.%s",
target_name(target),
debug_reason_name(target),
semihosting_active ? " Semihosting is active." : "");
struct target_type *tt = get_target_type(target);
if (!tt)
return ERROR_FAIL;
assert(tt->arch_state);
return tt->arch_state(target);
}