commit
363a0a2bf2
|
@ -542,8 +542,8 @@ static int register_write_direct(struct target *target, unsigned number,
|
|||
|
||||
int exec_out = riscv_program_exec(&program, target);
|
||||
if (exec_out != ERROR_OK) {
|
||||
LOG_ERROR("Unable to execute program");
|
||||
return exec_out;
|
||||
riscv013_clear_abstract_error(target);
|
||||
return ERROR_FAIL;
|
||||
}
|
||||
|
||||
return ERROR_OK;
|
||||
|
@ -575,8 +575,8 @@ static int register_read_direct(struct target *target, uint64_t *value, uint32_t
|
|||
|
||||
int exec_out = riscv_program_exec(&program, target);
|
||||
if (exec_out != ERROR_OK) {
|
||||
LOG_ERROR("Unable to execute program");
|
||||
return exec_out;
|
||||
riscv013_clear_abstract_error(target);
|
||||
return ERROR_FAIL;
|
||||
}
|
||||
|
||||
*value = 0;
|
||||
|
@ -679,7 +679,7 @@ static int init_target(struct command_context *cmd_ctx,
|
|||
info->ac_busy_delay = 0;
|
||||
|
||||
target->reg_cache = calloc(1, sizeof(*target->reg_cache));
|
||||
target->reg_cache->name = "RISC-V registers";
|
||||
target->reg_cache->name = "RISC-V Registers";
|
||||
target->reg_cache->num_regs = GDB_REGNO_COUNT;
|
||||
|
||||
target->reg_cache->reg_list = calloc(GDB_REGNO_COUNT, sizeof(struct reg));
|
||||
|
|
|
@ -737,6 +737,8 @@ int riscv_openocd_poll(struct target *target)
|
|||
|
||||
int riscv_openocd_halt(struct target *target)
|
||||
{
|
||||
RISCV_INFO(r);
|
||||
|
||||
LOG_DEBUG("halting all harts");
|
||||
|
||||
int out = riscv_halt_all_harts(target);
|
||||
|
@ -746,6 +748,11 @@ int riscv_openocd_halt(struct target *target)
|
|||
}
|
||||
|
||||
register_cache_invalidate(target->reg_cache);
|
||||
if (riscv_rtos_enabled(target)) {
|
||||
target->rtos->current_threadid = r->rtos_hartid + 1;
|
||||
target->rtos->current_thread = r->rtos_hartid + 1;
|
||||
}
|
||||
|
||||
target->state = TARGET_HALTED;
|
||||
target->debug_reason = DBG_REASON_DBGRQ;
|
||||
target_call_event_callbacks(target, TARGET_EVENT_HALTED);
|
||||
|
|
Loading…
Reference in New Issue