X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Frtos%2FembKernel.c;h=a40c86c3fa9726f053311de3d93a402f7de78222;hb=c04a59286ea2ba014fbd6f02b8c1072c8b29b924;hp=9f5fa50f073e179529616a501f98b26ed33aaa3c;hpb=e6907e6d7e4cfc108d03d05dc2686f989ba7213d;p=fw%2Fopenocd diff --git a/src/rtos/embKernel.c b/src/rtos/embKernel.c index 9f5fa50f0..a40c86c3f 100644 --- a/src/rtos/embKernel.c +++ b/src/rtos/embKernel.c @@ -13,9 +13,7 @@ * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * + * along with this program. If not, see . * ***************************************************************************/ #ifdef HAVE_CONFIG_H @@ -33,7 +31,7 @@ #define EMBKERNEL_MAX_THREAD_NAME_STR_SIZE (64) -static int embKernel_detect_rtos(struct target *target); +static bool embKernel_detect_rtos(struct target *target); static int embKernel_create(struct target *target); static int embKernel_update_threads(struct rtos *rtos); static int embKernel_get_thread_reg_list(struct rtos *rtos, int64_t thread_id, char **hex_reg_list); @@ -58,7 +56,7 @@ enum { SYMBOL_ID_sCurrentTaskCount = 5, }; -static char *embKernel_symbol_list[] = { +static const char * const embKernel_symbol_list[] = { "Rtos::sCurrentTask", "Rtos::sListReady", "Rtos::sListSleep", @@ -81,7 +79,7 @@ struct embKernel_params { const struct rtos_register_stacking *stacking_info; }; -struct embKernel_params embKernel_params_list[] = { +static const struct embKernel_params embKernel_params_list[] = { { "cortex_m", /* target_name */ 4, /* pointer_width */ @@ -109,13 +107,13 @@ struct embKernel_params embKernel_params_list[] = { } }; -static int embKernel_detect_rtos(struct target *target) +static bool embKernel_detect_rtos(struct target *target) { if (target->rtos->symbols != NULL) { if (target->rtos->symbols[SYMBOL_ID_sCurrentTask].address != 0) - return 1; + return true; } - return 0; + return false; } static int embKernel_create(struct target *target) @@ -131,7 +129,7 @@ static int embKernel_create(struct target *target) return -1; } - target->rtos->rtos_specific_params = &embKernel_params_list[i]; + target->rtos->rtos_specific_params = (void *) &embKernel_params_list[i]; return 0; } @@ -145,7 +143,6 @@ static int embKernel_get_tasks_details(struct rtos *rtos, int64_t iterable, cons return retval; details->threadid = (threadid_t) task; details->exists = true; - details->display_str = NULL; int64_t name_ptr = 0; retval = target_read_buffer(rtos->target, task + param->thread_name_offset, param->pointer_width, @@ -171,11 +168,11 @@ static int embKernel_get_tasks_details(struct rtos *rtos, int64_t iterable, cons return retval; details->extra_info_str = malloc(EMBKERNEL_MAX_THREAD_NAME_STR_SIZE); if (task == rtos->current_thread) { - snprintf(details->extra_info_str, EMBKERNEL_MAX_THREAD_NAME_STR_SIZE, "Pri=%u, Running", + snprintf(details->extra_info_str, EMBKERNEL_MAX_THREAD_NAME_STR_SIZE, "State: Running, Priority: %u", (unsigned int) priority); } else { - snprintf(details->extra_info_str, EMBKERNEL_MAX_THREAD_NAME_STR_SIZE, "Pri=%u, %s", (unsigned int) priority, - state_str); + snprintf(details->extra_info_str, EMBKERNEL_MAX_THREAD_NAME_STR_SIZE, "State: %s, Priority: %u", + state_str, (unsigned int) priority); } LOG_OUTPUT("Getting task details: iterable=0x%08X, task=0x%08X, name=%s\n", (unsigned int)iterable, @@ -335,7 +332,7 @@ static int embKernel_get_thread_reg_list(struct rtos *rtos, int64_t thread_id, c static int embKernel_get_symbol_list_to_lookup(symbol_table_elem_t *symbol_list[]) { unsigned int i; - *symbol_list = malloc(sizeof(symbol_table_elem_t) * ARRAY_SIZE(embKernel_symbol_list)); + *symbol_list = calloc(ARRAY_SIZE(embKernel_symbol_list), sizeof(symbol_table_elem_t)); for (i = 0; i < ARRAY_SIZE(embKernel_symbol_list); i++) (*symbol_list)[i].symbol_name = embKernel_symbol_list[i];