This is an automated email from Gerrit.

Marc Schink ([email protected]) just uploaded a new patch set to 
Gerrit, which you can find at http://openocd.zylin.com/4276

-- gerrit

commit afe5d40a9288690bbaf762b3e2cc983e9f21d74e
Author: Marc Schink <[email protected]>
Date:   Sun Oct 29 16:08:47 2017 +0100

    rtos/FreeRTOS: Some minor code cleanups
    
    Change-Id: I16fd4f8bef8444589ed5bb94337a335604686781
    Signed-off-by: Marc Schink <[email protected]>

diff --git a/src/rtos/FreeRTOS.c b/src/rtos/FreeRTOS.c
index 6027d67..98e4565 100644
--- a/src/rtos/FreeRTOS.c
+++ b/src/rtos/FreeRTOS.c
@@ -31,8 +31,6 @@
 #include "target/armv7m.h"
 #include "target/cortex_m.h"
 
-
-
 #define FREERTOS_MAX_PRIORITIES        63
 
 #define FreeRTOS_STRUCT(int_type, ptr_type, list_prev_offset)
@@ -97,17 +95,17 @@ static const struct FreeRTOS_params FreeRTOS_params_list[] 
= {
        },
 };
 
-#define FREERTOS_NUM_PARAMS ((int)(sizeof(FreeRTOS_params_list)/sizeof(struct 
FreeRTOS_params)))
+#define FREERTOS_NUM_PARAMS ARRAY_SIZE(FreeRTOS_params_list)
 
 static bool FreeRTOS_detect_rtos(struct target *target);
 static int FreeRTOS_create(struct target *target);
 static int FreeRTOS_update_threads(struct rtos *rtos);
-static int FreeRTOS_get_thread_reg_list(struct rtos *rtos, int64_t thread_id, 
char **hex_reg_list);
+static int FreeRTOS_get_thread_reg_list(struct rtos *rtos, int64_t thread_id,
+               char **hex_reg_list);
 static int FreeRTOS_get_symbol_list_to_lookup(symbol_table_elem_t 
*symbol_list[]);
 
 struct rtos_type FreeRTOS_rtos = {
        .name = "FreeRTOS",
-
        .detect_rtos = FreeRTOS_detect_rtos,
        .create = FreeRTOS_create,
        .update_threads = FreeRTOS_update_threads,
@@ -182,8 +180,8 @@ static int FreeRTOS_update_threads(struct rtos *rtos)
                        param->thread_count_width,
                        (uint8_t *)&thread_list_size);
        LOG_DEBUG("FreeRTOS: Read uxCurrentNumberOfTasks at 0x%" PRIx64 ", 
value %d\r\n",
-                                                                               
rtos->symbols[FreeRTOS_VAL_uxCurrentNumberOfTasks].address,
-                                                                               
thread_list_size);
+               rtos->symbols[FreeRTOS_VAL_uxCurrentNumberOfTasks].address,
+               thread_list_size);
 
        if (retval != ERROR_OK) {
                LOG_ERROR("Could not read FreeRTOS thread count from target");
@@ -203,20 +201,21 @@ static int FreeRTOS_update_threads(struct rtos *rtos)
                return retval;
        }
        LOG_DEBUG("FreeRTOS: Read pxCurrentTCB at 0x%" PRIx64 ", value 0x%" 
PRIx64 "\r\n",
-                                                                               
rtos->symbols[FreeRTOS_VAL_pxCurrentTCB].address,
-                                                                               
rtos->current_thread);
+               rtos->symbols[FreeRTOS_VAL_pxCurrentTCB].address,
+               rtos->current_thread);
 
-       if ((thread_list_size  == 0) || (rtos->current_thread == 0)) {
+       if ((thread_list_size == 0) || (rtos->current_thread == 0)) {
                /* Either : No RTOS threads - there is always at least the 
current execution though */
                /* OR     : No current thread - all threads suspended - show 
the current execution
                 * of idling */
-               char tmp_str[] = "Current Execution";
+               const char tmp_str[] = "Current Execution";
                thread_list_size++;
                tasks_found++;
                rtos->thread_details = malloc(
                                sizeof(struct thread_detail) * 
thread_list_size);
                if (!rtos->thread_details) {
-                       LOG_ERROR("Error allocating memory for %d threads", 
thread_list_size);
+                       LOG_ERROR("Error allocating memory for %d threads",
+                               thread_list_size);
                        return ERROR_FAIL;
                }
                rtos->thread_details->threadid = 1;
@@ -234,7 +233,8 @@ static int FreeRTOS_update_threads(struct rtos *rtos)
                rtos->thread_details = malloc(
                                sizeof(struct thread_detail) * 
thread_list_size);
                if (!rtos->thread_details) {
-                       LOG_ERROR("Error allocating memory for %d threads", 
thread_list_size);
+                       LOG_ERROR("Error allocating memory for %d threads",
+                               thread_list_size);
                        return ERROR_FAIL;
                }
        }
@@ -252,8 +252,8 @@ static int FreeRTOS_update_threads(struct rtos *rtos)
        if (retval != ERROR_OK)
                return retval;
        LOG_DEBUG("FreeRTOS: Read uxTopUsedPriority at 0x%" PRIx64 ", value %" 
PRId64 "\r\n",
-                                                                               
rtos->symbols[FreeRTOS_VAL_uxTopUsedPriority].address,
-                                                                               
max_used_priority);
+               rtos->symbols[FreeRTOS_VAL_uxTopUsedPriority].address,
+               max_used_priority);
        if (max_used_priority > FREERTOS_MAX_PRIORITIES) {
                LOG_ERROR("FreeRTOS maximum used priority is unreasonably big, 
not proceeding: %" PRId64 "",
                        max_used_priority);
@@ -261,10 +261,10 @@ static int FreeRTOS_update_threads(struct rtos *rtos)
        }
 
        symbol_address_t *list_of_lists =
-               malloc(sizeof(symbol_address_t) *
-                       (max_used_priority+1 + 5));
+               malloc(sizeof(symbol_address_t) * (max_used_priority + 1 + 5));
        if (!list_of_lists) {
-               LOG_ERROR("Error allocating memory for %" PRId64 " priorities", 
max_used_priority);
+               LOG_ERROR("Error allocating memory for %" PRId64 " priorities",
+                       max_used_priority);
                return ERROR_FAIL;
        }
 
@@ -295,7 +295,7 @@ static int FreeRTOS_update_threads(struct rtos *rtos)
                        return retval;
                }
                LOG_DEBUG("FreeRTOS: Read thread count for list %d at 0x%" 
PRIx64 ", value %" PRId64 "\r\n",
-                                                                               
i, list_of_lists[i], list_thread_count);
+                       i, list_of_lists[i], list_thread_count);
 
                if (list_thread_count == 0)
                        continue;
@@ -313,7 +313,7 @@ static int FreeRTOS_update_threads(struct rtos *rtos)
                        return retval;
                }
                LOG_DEBUG("FreeRTOS: Read first item for list %d at 0x%" PRIx64 
", value 0x%" PRIx64 "\r\n",
-                                                                               
i, list_of_lists[i] + param->list_next_offset, list_elem_ptr);
+                       i, list_of_lists[i] + param->list_next_offset, 
list_elem_ptr);
 
                while ((list_thread_count > 0) && (list_elem_ptr != 0) &&
                                (list_elem_ptr != prev_list_elem_ptr) &&
@@ -330,8 +330,8 @@ static int FreeRTOS_update_threads(struct rtos *rtos)
                                return retval;
                        }
                        LOG_DEBUG("FreeRTOS: Read Thread ID at 0x%" PRIx64 ", 
value 0x%" PRIx64 "\r\n",
-                                                                               
list_elem_ptr + param->list_elem_content_offset,
-                                                                               
rtos->thread_details[tasks_found].threadid);
+                               list_elem_ptr + param->list_elem_content_offset,
+                               rtos->thread_details[tasks_found].threadid);
 
                        /* get thread name */
 
@@ -350,19 +350,19 @@ static int FreeRTOS_update_threads(struct rtos *rtos)
                        }
                        tmp_str[FREERTOS_THREAD_NAME_STR_SIZE-1] = '\x00';
                        LOG_DEBUG("FreeRTOS: Read Thread Name at 0x%" PRIx64 ", 
value \"%s\"\r\n",
-                                                                               
rtos->thread_details[tasks_found].threadid + param->thread_name_offset,
-                                                                               
tmp_str);
+                               rtos->thread_details[tasks_found].threadid + 
param->thread_name_offset,
+                               tmp_str);
 
                        if (tmp_str[0] == '\x00')
                                strcpy(tmp_str, "No Name");
 
                        rtos->thread_details[tasks_found].thread_name_str =
-                               malloc(strlen(tmp_str)+1);
+                               malloc(strlen(tmp_str) + 1);
                        
strcpy(rtos->thread_details[tasks_found].thread_name_str, tmp_str);
                        rtos->thread_details[tasks_found].exists = true;
 
                        if (rtos->thread_details[tasks_found].threadid == 
rtos->current_thread) {
-                               char running_str[] = "State: Running";
+                               const char running_str[] = "State: Running";
                                
rtos->thread_details[tasks_found].extra_info_str = malloc(
                                                sizeof(running_str));
                                
strcpy(rtos->thread_details[tasks_found].extra_info_str,
@@ -385,8 +385,8 @@ static int FreeRTOS_update_threads(struct rtos *rtos)
                                return retval;
                        }
                        LOG_DEBUG("FreeRTOS: Read next thread location at 0x%" 
PRIx64 ", value 0x%" PRIx64 "\r\n",
-                                                                               
prev_list_elem_ptr + param->list_elem_next_offset,
-                                                                               
list_elem_ptr);
+                               prev_list_elem_ptr + 
param->list_elem_next_offset,
+                               list_elem_ptr);
                }
        }
 
@@ -395,7 +395,8 @@ static int FreeRTOS_update_threads(struct rtos *rtos)
        return 0;
 }
 
-static int FreeRTOS_get_thread_reg_list(struct rtos *rtos, int64_t thread_id, 
char **hex_reg_list)
+static int FreeRTOS_get_thread_reg_list(struct rtos *rtos, int64_t thread_id,
+               char **hex_reg_list)
 {
        int retval;
        const struct FreeRTOS_params *param;
@@ -423,57 +424,56 @@ static int FreeRTOS_get_thread_reg_list(struct rtos 
*rtos, int64_t thread_id, ch
                return retval;
        }
        LOG_DEBUG("FreeRTOS: Read stack pointer at 0x%" PRIx64 ", value 0x%" 
PRIx64 "\r\n",
-                                                                               
thread_id + param->thread_stack_offset,
-                                                                               
stack_ptr);
+               thread_id + param->thread_stack_offset, stack_ptr);
 
        /* Check for armv7m with *enabled* FPU, i.e. a Cortex-M4F */
-       int cm4_fpu_enabled = 0;
-       struct armv7m_common *armv7m_target = target_to_armv7m(rtos->target);
-       if (is_armv7m(armv7m_target)) {
-               if (armv7m_target->fp_feature == FPv4_SP) {
-                       /* Found ARM v7m target which includes a FPU */
-                       uint32_t cpacr;
-
-                       retval = target_read_u32(rtos->target, FPU_CPACR, 
&cpacr);
-                       if (retval != ERROR_OK) {
-                               LOG_ERROR("Could not read CPACR register to 
check FPU state");
-                               return -1;
-                       }
+       bool cm4_fpu_enabled = false;
+       const struct armv7m_common *armv7m_target = 
target_to_armv7m(rtos->target);
+       if (is_armv7m(armv7m_target) && armv7m_target->fp_feature == FPv4_SP) {
+               /* Found ARM v7m target which includes a FPU */
+               uint32_t cpacr;
 
-                       /* Check if CP10 and CP11 are set to full access. */
-                       if (cpacr & 0x00F00000) {
-                               /* Found target with enabled FPU */
-                               cm4_fpu_enabled = 1;
-                       }
+               retval = target_read_u32(rtos->target, FPU_CPACR, &cpacr);
+               if (retval != ERROR_OK) {
+                       LOG_ERROR("Could not read CPACR register to check FPU 
state");
+                       return -1;
+               }
+
+               /* Check if CP10 and CP11 are set to full access. */
+               if (cpacr & 0x00F00000) {
+                       /* Found target with enabled FPU */
+                       cm4_fpu_enabled = true;
                }
        }
 
-       if (cm4_fpu_enabled == 1) {
+       if (cm4_fpu_enabled) {
                /* Read the LR to decide between stacking with or without FPU */
-               uint32_t LR_svc = 0;
+               uint32_t lr_svc = 0;
                retval = target_read_buffer(rtos->target,
                                stack_ptr + 0x20,
                                param->pointer_width,
-                               (uint8_t *)&LR_svc);
+                               (uint8_t *)&lr_svc);
                if (retval != ERROR_OK) {
                        LOG_OUTPUT("Error reading stack frame from FreeRTOS 
thread\r\n");
                        return retval;
                }
-               if ((LR_svc & 0x10) == 0)
-                       return rtos_generic_stack_read(rtos->target, 
param->stacking_info_cm4f_fpu, stack_ptr, hex_reg_list);
+               if ((lr_svc & 0x10) == 0)
+                       return rtos_generic_stack_read(rtos->target,
+                               param->stacking_info_cm4f_fpu, stack_ptr, 
hex_reg_list);
                else
-                       return rtos_generic_stack_read(rtos->target, 
param->stacking_info_cm4f, stack_ptr, hex_reg_list);
+                       return rtos_generic_stack_read(rtos->target,
+                               param->stacking_info_cm4f, stack_ptr, 
hex_reg_list);
        } else
-               return rtos_generic_stack_read(rtos->target, 
param->stacking_info_cm3, stack_ptr, hex_reg_list);
+               return rtos_generic_stack_read(rtos->target, 
param->stacking_info_cm3,
+                       stack_ptr, hex_reg_list);
 }
 
 static int FreeRTOS_get_symbol_list_to_lookup(symbol_table_elem_t 
*symbol_list[])
 {
-       unsigned int i;
-       *symbol_list = calloc(
-                       ARRAY_SIZE(FreeRTOS_symbol_list), 
sizeof(symbol_table_elem_t));
+       *symbol_list = calloc(ARRAY_SIZE(FreeRTOS_symbol_list),
+               sizeof(symbol_table_elem_t));
 
-       for (i = 0; i < ARRAY_SIZE(FreeRTOS_symbol_list); i++) {
+       for (unsigned int i = 0; i < ARRAY_SIZE(FreeRTOS_symbol_list); i++) {
                (*symbol_list)[i].symbol_name = FreeRTOS_symbol_list[i].name;
                (*symbol_list)[i].optional = FreeRTOS_symbol_list[i].optional;
        }
@@ -540,7 +540,7 @@ static bool FreeRTOS_detect_rtos(struct target *target)
 
 static int FreeRTOS_create(struct target *target)
 {
-       int i = 0;
+       unsigned int i = 0;
        while ((i < FREERTOS_NUM_PARAMS) &&
                        (0 != strcmp(FreeRTOS_params_list[i].target_name, 
target->type->name))) {
                i++;

-- 

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to