helper/command: get current target from dedicated API
Now that target override is uniformly implemented for all types of commands, there is no need for target-prefixed "native" commands (.jim_handler) to sneakily extract the overridden target from the struct command. Modify the commands to use the standard API get_current_target(). Change-Id: I732a09c3261e56524edd5217634fa409eb97a8c6 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: http://openocd.zylin.com/5666 Tested-by: jenkins Reviewed-by: Oleksij Rempel <linux@rempel-privat.de>
This commit is contained in:
parent
462323f123
commit
7cd679a2de
|
@ -722,8 +722,9 @@ static int jim_nds32_bulk_write(Jim_Interp *interp, int argc, Jim_Obj * const *a
|
||||||
return JIM_ERR;
|
return JIM_ERR;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct command *c = jim_to_command(goi.interp);
|
struct command_context *cmd_ctx = current_command_context(interp);
|
||||||
struct target *target = c->jim_handler_data;
|
assert(cmd_ctx);
|
||||||
|
struct target *target = get_current_target(cmd_ctx);
|
||||||
int result;
|
int result;
|
||||||
|
|
||||||
result = target_write_buffer(target, address, count * 4, (const uint8_t *)data);
|
result = target_write_buffer(target, address, count * 4, (const uint8_t *)data);
|
||||||
|
@ -752,8 +753,9 @@ static int jim_nds32_multi_write(Jim_Interp *interp, int argc, Jim_Obj * const *
|
||||||
if (e != JIM_OK)
|
if (e != JIM_OK)
|
||||||
return e;
|
return e;
|
||||||
|
|
||||||
struct command *c = jim_to_command(goi.interp);
|
struct command_context *cmd_ctx = current_command_context(interp);
|
||||||
struct target *target = c->jim_handler_data;
|
assert(cmd_ctx);
|
||||||
|
struct target *target = get_current_target(cmd_ctx);
|
||||||
struct aice_port_s *aice = target_to_aice(target);
|
struct aice_port_s *aice = target_to_aice(target);
|
||||||
int result;
|
int result;
|
||||||
uint32_t address;
|
uint32_t address;
|
||||||
|
@ -814,8 +816,9 @@ static int jim_nds32_bulk_read(Jim_Interp *interp, int argc, Jim_Obj * const *ar
|
||||||
if (goi.argc != 0)
|
if (goi.argc != 0)
|
||||||
return JIM_ERR;
|
return JIM_ERR;
|
||||||
|
|
||||||
struct command *c = jim_to_command(goi.interp);
|
struct command_context *cmd_ctx = current_command_context(interp);
|
||||||
struct target *target = c->jim_handler_data;
|
assert(cmd_ctx);
|
||||||
|
struct target *target = get_current_target(cmd_ctx);
|
||||||
uint32_t *data = malloc(count * sizeof(uint32_t));
|
uint32_t *data = malloc(count * sizeof(uint32_t));
|
||||||
int result;
|
int result;
|
||||||
result = target_read_buffer(target, address, count * 4, (uint8_t *)data);
|
result = target_read_buffer(target, address, count * 4, (uint8_t *)data);
|
||||||
|
@ -866,8 +869,9 @@ static int jim_nds32_read_edm_sr(Jim_Interp *interp, int argc, Jim_Obj * const *
|
||||||
else
|
else
|
||||||
return ERROR_FAIL;
|
return ERROR_FAIL;
|
||||||
|
|
||||||
struct command *c = jim_to_command(goi.interp);
|
struct command_context *cmd_ctx = current_command_context(interp);
|
||||||
struct target *target = c->jim_handler_data;
|
assert(cmd_ctx);
|
||||||
|
struct target *target = get_current_target(cmd_ctx);
|
||||||
struct aice_port_s *aice = target_to_aice(target);
|
struct aice_port_s *aice = target_to_aice(target);
|
||||||
char data_str[11];
|
char data_str[11];
|
||||||
|
|
||||||
|
@ -915,8 +919,9 @@ static int jim_nds32_write_edm_sr(Jim_Interp *interp, int argc, Jim_Obj * const
|
||||||
else
|
else
|
||||||
return ERROR_FAIL;
|
return ERROR_FAIL;
|
||||||
|
|
||||||
struct command *c = jim_to_command(goi.interp);
|
struct command_context *cmd_ctx = current_command_context(interp);
|
||||||
struct target *target = c->jim_handler_data;
|
assert(cmd_ctx);
|
||||||
|
struct target *target = get_current_target(cmd_ctx);
|
||||||
struct aice_port_s *aice = target_to_aice(target);
|
struct aice_port_s *aice = target_to_aice(target);
|
||||||
|
|
||||||
aice_write_debug_reg(aice, edm_sr_number, value);
|
aice_write_debug_reg(aice, edm_sr_number, value);
|
||||||
|
|
|
@ -5206,24 +5206,27 @@ static int jim_target_configure(Jim_Interp *interp, int argc, Jim_Obj * const *a
|
||||||
"missing: -option ...");
|
"missing: -option ...");
|
||||||
return JIM_ERR;
|
return JIM_ERR;
|
||||||
}
|
}
|
||||||
struct command *c = jim_to_command(goi.interp);
|
struct command_context *cmd_ctx = current_command_context(interp);
|
||||||
struct target *target = c->jim_handler_data;
|
assert(cmd_ctx);
|
||||||
|
struct target *target = get_current_target(cmd_ctx);
|
||||||
return target_configure(&goi, target);
|
return target_configure(&goi, target);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int jim_target_mem2array(Jim_Interp *interp,
|
static int jim_target_mem2array(Jim_Interp *interp,
|
||||||
int argc, Jim_Obj *const *argv)
|
int argc, Jim_Obj *const *argv)
|
||||||
{
|
{
|
||||||
struct command *c = jim_to_command(interp);
|
struct command_context *cmd_ctx = current_command_context(interp);
|
||||||
struct target *target = c->jim_handler_data;
|
assert(cmd_ctx);
|
||||||
|
struct target *target = get_current_target(cmd_ctx);
|
||||||
return target_mem2array(interp, target, argc - 1, argv + 1);
|
return target_mem2array(interp, target, argc - 1, argv + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int jim_target_array2mem(Jim_Interp *interp,
|
static int jim_target_array2mem(Jim_Interp *interp,
|
||||||
int argc, Jim_Obj *const *argv)
|
int argc, Jim_Obj *const *argv)
|
||||||
{
|
{
|
||||||
struct command *c = jim_to_command(interp);
|
struct command_context *cmd_ctx = current_command_context(interp);
|
||||||
struct target *target = c->jim_handler_data;
|
assert(cmd_ctx);
|
||||||
|
struct target *target = get_current_target(cmd_ctx);
|
||||||
return target_array2mem(interp, target, argc - 1, argv + 1);
|
return target_array2mem(interp, target, argc - 1, argv + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5255,8 +5258,9 @@ static int jim_target_examine(Jim_Interp *interp, int argc, Jim_Obj *const *argv
|
||||||
allow_defer = true;
|
allow_defer = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct command *c = jim_to_command(interp);
|
struct command_context *cmd_ctx = current_command_context(interp);
|
||||||
struct target *target = c->jim_handler_data;
|
assert(cmd_ctx);
|
||||||
|
struct target *target = get_current_target(cmd_ctx);
|
||||||
if (!target->tap->enabled)
|
if (!target->tap->enabled)
|
||||||
return jim_target_tap_disabled(interp);
|
return jim_target_tap_disabled(interp);
|
||||||
|
|
||||||
|
@ -5274,8 +5278,9 @@ static int jim_target_examine(Jim_Interp *interp, int argc, Jim_Obj *const *argv
|
||||||
|
|
||||||
static int jim_target_was_examined(Jim_Interp *interp, int argc, Jim_Obj * const *argv)
|
static int jim_target_was_examined(Jim_Interp *interp, int argc, Jim_Obj * const *argv)
|
||||||
{
|
{
|
||||||
struct command *c = jim_to_command(interp);
|
struct command_context *cmd_ctx = current_command_context(interp);
|
||||||
struct target *target = c->jim_handler_data;
|
assert(cmd_ctx);
|
||||||
|
struct target *target = get_current_target(cmd_ctx);
|
||||||
|
|
||||||
Jim_SetResultBool(interp, target_was_examined(target));
|
Jim_SetResultBool(interp, target_was_examined(target));
|
||||||
return JIM_OK;
|
return JIM_OK;
|
||||||
|
@ -5283,8 +5288,9 @@ static int jim_target_was_examined(Jim_Interp *interp, int argc, Jim_Obj * const
|
||||||
|
|
||||||
static int jim_target_examine_deferred(Jim_Interp *interp, int argc, Jim_Obj * const *argv)
|
static int jim_target_examine_deferred(Jim_Interp *interp, int argc, Jim_Obj * const *argv)
|
||||||
{
|
{
|
||||||
struct command *c = jim_to_command(interp);
|
struct command_context *cmd_ctx = current_command_context(interp);
|
||||||
struct target *target = c->jim_handler_data;
|
assert(cmd_ctx);
|
||||||
|
struct target *target = get_current_target(cmd_ctx);
|
||||||
|
|
||||||
Jim_SetResultBool(interp, target->defer_examine);
|
Jim_SetResultBool(interp, target->defer_examine);
|
||||||
return JIM_OK;
|
return JIM_OK;
|
||||||
|
@ -5296,8 +5302,9 @@ static int jim_target_halt_gdb(Jim_Interp *interp, int argc, Jim_Obj *const *arg
|
||||||
Jim_WrongNumArgs(interp, 1, argv, "[no parameters]");
|
Jim_WrongNumArgs(interp, 1, argv, "[no parameters]");
|
||||||
return JIM_ERR;
|
return JIM_ERR;
|
||||||
}
|
}
|
||||||
struct command *c = jim_to_command(interp);
|
struct command_context *cmd_ctx = current_command_context(interp);
|
||||||
struct target *target = c->jim_handler_data;
|
assert(cmd_ctx);
|
||||||
|
struct target *target = get_current_target(cmd_ctx);
|
||||||
|
|
||||||
if (target_call_event_callbacks(target, TARGET_EVENT_GDB_HALT) != ERROR_OK)
|
if (target_call_event_callbacks(target, TARGET_EVENT_GDB_HALT) != ERROR_OK)
|
||||||
return JIM_ERR;
|
return JIM_ERR;
|
||||||
|
@ -5311,8 +5318,9 @@ static int jim_target_poll(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
|
||||||
Jim_WrongNumArgs(interp, 1, argv, "[no parameters]");
|
Jim_WrongNumArgs(interp, 1, argv, "[no parameters]");
|
||||||
return JIM_ERR;
|
return JIM_ERR;
|
||||||
}
|
}
|
||||||
struct command *c = jim_to_command(interp);
|
struct command_context *cmd_ctx = current_command_context(interp);
|
||||||
struct target *target = c->jim_handler_data;
|
assert(cmd_ctx);
|
||||||
|
struct target *target = get_current_target(cmd_ctx);
|
||||||
if (!target->tap->enabled)
|
if (!target->tap->enabled)
|
||||||
return jim_target_tap_disabled(interp);
|
return jim_target_tap_disabled(interp);
|
||||||
|
|
||||||
|
@ -5349,8 +5357,9 @@ static int jim_target_reset(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
|
||||||
if (e != JIM_OK)
|
if (e != JIM_OK)
|
||||||
return e;
|
return e;
|
||||||
|
|
||||||
struct command *c = jim_to_command(goi.interp);
|
struct command_context *cmd_ctx = current_command_context(interp);
|
||||||
struct target *target = c->jim_handler_data;
|
assert(cmd_ctx);
|
||||||
|
struct target *target = get_current_target(cmd_ctx);
|
||||||
if (!target->tap->enabled)
|
if (!target->tap->enabled)
|
||||||
return jim_target_tap_disabled(interp);
|
return jim_target_tap_disabled(interp);
|
||||||
|
|
||||||
|
@ -5383,8 +5392,9 @@ static int jim_target_halt(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
|
||||||
Jim_WrongNumArgs(interp, 1, argv, "[no parameters]");
|
Jim_WrongNumArgs(interp, 1, argv, "[no parameters]");
|
||||||
return JIM_ERR;
|
return JIM_ERR;
|
||||||
}
|
}
|
||||||
struct command *c = jim_to_command(interp);
|
struct command_context *cmd_ctx = current_command_context(interp);
|
||||||
struct target *target = c->jim_handler_data;
|
assert(cmd_ctx);
|
||||||
|
struct target *target = get_current_target(cmd_ctx);
|
||||||
if (!target->tap->enabled)
|
if (!target->tap->enabled)
|
||||||
return jim_target_tap_disabled(interp);
|
return jim_target_tap_disabled(interp);
|
||||||
int e = target->type->halt(target);
|
int e = target->type->halt(target);
|
||||||
|
@ -5414,8 +5424,9 @@ static int jim_target_wait_state(Jim_Interp *interp, int argc, Jim_Obj *const *a
|
||||||
e = Jim_GetOpt_Wide(&goi, &a);
|
e = Jim_GetOpt_Wide(&goi, &a);
|
||||||
if (e != JIM_OK)
|
if (e != JIM_OK)
|
||||||
return e;
|
return e;
|
||||||
struct command *c = jim_to_command(interp);
|
struct command_context *cmd_ctx = current_command_context(interp);
|
||||||
struct target *target = c->jim_handler_data;
|
assert(cmd_ctx);
|
||||||
|
struct target *target = get_current_target(cmd_ctx);
|
||||||
if (!target->tap->enabled)
|
if (!target->tap->enabled)
|
||||||
return jim_target_tap_disabled(interp);
|
return jim_target_tap_disabled(interp);
|
||||||
|
|
||||||
|
@ -5459,8 +5470,9 @@ static int jim_target_current_state(Jim_Interp *interp, int argc, Jim_Obj *const
|
||||||
Jim_WrongNumArgs(interp, 1, argv, "[no parameters]");
|
Jim_WrongNumArgs(interp, 1, argv, "[no parameters]");
|
||||||
return JIM_ERR;
|
return JIM_ERR;
|
||||||
}
|
}
|
||||||
struct command *c = jim_to_command(interp);
|
struct command_context *cmd_ctx = current_command_context(interp);
|
||||||
struct target *target = c->jim_handler_data;
|
assert(cmd_ctx);
|
||||||
|
struct target *target = get_current_target(cmd_ctx);
|
||||||
Jim_SetResultString(interp, target_state_name(target), -1);
|
Jim_SetResultString(interp, target_state_name(target), -1);
|
||||||
return JIM_OK;
|
return JIM_OK;
|
||||||
}
|
}
|
||||||
|
@ -5479,8 +5491,9 @@ static int jim_target_invoke_event(Jim_Interp *interp, int argc, Jim_Obj *const
|
||||||
Jim_GetOpt_NvpUnknown(&goi, nvp_target_event, 1);
|
Jim_GetOpt_NvpUnknown(&goi, nvp_target_event, 1);
|
||||||
return e;
|
return e;
|
||||||
}
|
}
|
||||||
struct command *c = jim_to_command(interp);
|
struct command_context *cmd_ctx = current_command_context(interp);
|
||||||
struct target *target = c->jim_handler_data;
|
assert(cmd_ctx);
|
||||||
|
struct target *target = get_current_target(cmd_ctx);
|
||||||
target_handle_event(target, n->value);
|
target_handle_event(target, n->value);
|
||||||
return JIM_OK;
|
return JIM_OK;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue