rtos : ps command

Change-Id: I1b00b6d72f425826c33b0df7dd63114ce642ce93
Signed-off-by: Michel JAOUEN <michel.jaouen@stericsson.com>
Reviewed-on: http://openocd.zylin.com/345
Tested-by: jenkins
Reviewed-by: Evan Hunter <evan@ozhiker.com>
Reviewed-by: Øyvind Harboe <oyvindharboe@gmail.com>
__archive__
Michel JAOUEN 2012-01-03 16:18:22 +01:00 committed by Øyvind Harboe
parent ebac7c963a
commit 2bc51d1abc
2 changed files with 30 additions and 0 deletions

View File

@ -80,6 +80,7 @@ struct rtos_type
int (*get_thread_reg_list) ( struct rtos *rtos, int64_t thread_id, char ** hex_reg_list ); int (*get_thread_reg_list) ( struct rtos *rtos, int64_t thread_id, char ** hex_reg_list );
int (*get_symbol_list_to_lookup) (symbol_table_elem_t * symbol_list[] ); int (*get_symbol_list_to_lookup) (symbol_table_elem_t * symbol_list[] );
int (*clean)(struct target *target); int (*clean)(struct target *target);
char * (*ps_command)(struct target *target);
}; };

View File

@ -5515,6 +5515,27 @@ COMMAND_HANDLER(handle_target_reset_nag)
"performance"); "performance");
} }
COMMAND_HANDLER(handle_ps_command)
{
struct target *target = get_current_target(CMD_CTX);
char *display;
if (target->state != TARGET_HALTED) {
LOG_INFO("target not halted !!");
return ERROR_OK;
}
if ((target->rtos) && (target->rtos->type)
&& (target->rtos->type->ps_command)) {
display = target->rtos->type->ps_command(target);
command_print(CMD_CTX, "%s", display);
free(display);
return ERROR_OK;
} else {
LOG_INFO("failed");
return ERROR_TARGET_FAILURE;
}
}
static const struct command_registration target_exec_command_handlers[] = { static const struct command_registration target_exec_command_handlers[] = {
{ {
.name = "fast_load_image", .name = "fast_load_image",
@ -5727,6 +5748,14 @@ static const struct command_registration target_exec_command_handlers[] = {
"enabled to improve performance. ", "enabled to improve performance. ",
.usage = "['enable'|'disable']", .usage = "['enable'|'disable']",
}, },
{
.name = "ps",
.handler = handle_ps_command,
.mode = COMMAND_EXEC,
.help = "list all tasks ",
.usage = " ",
},
COMMAND_REGISTRATION_DONE COMMAND_REGISTRATION_DONE
}; };
static int target_register_user_commands(struct command_context *cmd_ctx) static int target_register_user_commands(struct command_context *cmd_ctx)