RISC-V Semihosting 1 of 3: Remove dead code

Variable `target->semihosting` is always initialized
in risv_init_target() to a non-NULL value.

For that reason, checks like `if (target->semihosting)`
are redundant (dead code).

Remove them to not confuse code readers. Replace them by assertions.

Change-Id: I85ef52300e240cfcb0119db6169993bc4767de8f
Signed-off-by: Jan Matyas <jan.matyas@codasip.com>
This commit is contained in:
Jan Matyas 2025-01-07 08:34:16 +01:00
parent f82c5a7c04
commit ecb2ad4a8a
1 changed files with 4 additions and 10 deletions

View File

@ -57,10 +57,7 @@ void riscv_semihosting_init(struct target *target)
enum semihosting_result riscv_semihosting(struct target *target, int *retval) enum semihosting_result riscv_semihosting(struct target *target, int *retval)
{ {
struct semihosting *semihosting = target->semihosting; struct semihosting *semihosting = target->semihosting;
if (!semihosting) { assert(semihosting);
LOG_TARGET_DEBUG(target, " -> NONE (!semihosting)");
return SEMIHOSTING_NONE;
}
if (!semihosting->is_active) { if (!semihosting->is_active) {
LOG_TARGET_DEBUG(target, " -> NONE (!semihosting->is_active)"); LOG_TARGET_DEBUG(target, " -> NONE (!semihosting->is_active)");
@ -170,19 +167,16 @@ static int riscv_semihosting_setup(struct target *target, int enable)
LOG_TARGET_DEBUG(target, "enable=%d", enable); LOG_TARGET_DEBUG(target, "enable=%d", enable);
struct semihosting *semihosting = target->semihosting; struct semihosting *semihosting = target->semihosting;
if (semihosting) assert(semihosting);
semihosting->setup_time = clock();
semihosting->setup_time = clock();
return ERROR_OK; return ERROR_OK;
} }
static int riscv_semihosting_post_result(struct target *target) static int riscv_semihosting_post_result(struct target *target)
{ {
struct semihosting *semihosting = target->semihosting; struct semihosting *semihosting = target->semihosting;
if (!semihosting) { assert(semihosting);
/* If not enabled, silently ignored. */
return 0;
}
LOG_TARGET_DEBUG(target, "Result: 0x%" PRIx64, semihosting->result); LOG_TARGET_DEBUG(target, "Result: 0x%" PRIx64, semihosting->result);
riscv_reg_set(target, GDB_REGNO_A0, semihosting->result); riscv_reg_set(target, GDB_REGNO_A0, semihosting->result);