Skip to content

Commit

Permalink
target: make target re-configuration possible again
Browse files Browse the repository at this point in the history
Before commit 877cec2
("command: check command mode for native jim commands") all the jim commands
were erroneously treated as they had mode COMMAND_ANY.

The command '$_TARGET configure -xxx' was therefore applicable on running
OpenOCD to change the target configuration. It is handy e.g. for changing
an event handler or changes of the work area.

Change 'configure' command .mode to COMMAND_ANY to make it possible again.

The only parameter which cannot be re-configured after init is -gdb-port.
Test the command mode and refuse setting of gdb port after init.

Change-Id: I88493ac10a46647dc52a88fbc9f8ce6b5ba3bcd0
Signed-off-by: Tomas Vanek <[email protected]>
Reviewed-on: http:https://openocd.zylin.com/5214
Reviewed-by: Antonio Borneo <[email protected]>
Tested-by: jenkins
Reviewed-by: Matthias Welwarsky <[email protected]>
  • Loading branch information
tom-van authored and thinkfat committed Jun 12, 2019
1 parent 7a27423 commit 20396e5
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion src/target/target.c
Original file line number Diff line number Diff line change
Expand Up @@ -4893,6 +4893,12 @@ static int target_configure(Jim_GetOptInfo *goi, struct target *target)

case TCFG_GDB_PORT:
if (goi->isconfigure) {
struct command_context *cmd_ctx = current_command_context(goi->interp);
if (cmd_ctx->mode != COMMAND_CONFIG) {
Jim_SetResultString(goi->interp, "-gdb-port must be configured before 'init'", -1);
return JIM_ERR;
}

const char *s;
e = Jim_GetOpt_String(goi, &s, NULL);
if (e != JIM_OK)
Expand Down Expand Up @@ -5194,7 +5200,7 @@ static int jim_target_invoke_event(Jim_Interp *interp, int argc, Jim_Obj *const
static const struct command_registration target_instance_command_handlers[] = {
{
.name = "configure",
.mode = COMMAND_CONFIG,
.mode = COMMAND_ANY,
.jim_handler = jim_target_configure,
.help = "configure a new target for use",
.usage = "[target_attribute ...]",
Expand Down

0 comments on commit 20396e5

Please sign in to comment.