X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Ftarget%2Farm_cti.c;h=df60372533112c01bbb72fc2799ac2cf49a08eca;hp=547b96158ba81743d40dc0517e737f4c1b34571d;hb=d1c7b0ab8a9a397a361276b9a38bcb9ba55678bd;hpb=2231da8ec4e7d7ae9b652f3dd1a7104f5a110f3f diff --git a/src/target/arm_cti.c b/src/target/arm_cti.c index 547b96158b..df60372533 100644 --- a/src/target/arm_cti.c +++ b/src/target/arm_cti.c @@ -216,9 +216,23 @@ static int cti_find_reg_offset(const char *name) if (!strcmp(name, cti_names[i].label)) return cti_names[i].offset; } + + LOG_ERROR("unknown CTI register %s", name); return -1; } +int arm_cti_cleanup_all(void) +{ + struct arm_cti_object *obj, *tmp; + + list_for_each_entry_safe(obj, tmp, &all_cti, lh) { + free(obj->name); + free(obj); + } + + return ERROR_OK; +} + COMMAND_HANDLER(handle_cti_dump) { struct arm_cti_object *obj = CMD_DATA; @@ -285,7 +299,7 @@ COMMAND_HANDLER(handle_cti_write) uint32_t value; if (CMD_ARGC != 2) { - Jim_SetResultString(interp, "Wrong numer of args", -1); + Jim_SetResultString(interp, "Wrong number of args", -1); return ERROR_FAIL; } @@ -308,7 +322,7 @@ COMMAND_HANDLER(handle_cti_read) uint32_t value; if (CMD_ARGC != 1) { - Jim_SetResultString(interp, "Wrong numer of args", -1); + Jim_SetResultString(interp, "Wrong number of args", -1); return ERROR_FAIL; } @@ -419,6 +433,10 @@ static int cti_configure(Jim_GetOptInfo *goi, struct arm_cti_object *cti) e = Jim_GetOpt_Wide(goi, &w); if (e != JIM_OK) return e; + if (w < 0 || w > DP_APSEL_MAX) { + Jim_SetResultString(goi->interp, "-ap-num is invalid", -1); + return JIM_ERR; + } cti->ap_num = (uint32_t)w; } }