X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Ftarget%2Farm_cti.c;h=f33379240d5b159ac8fb0f8c7ccd209f47c09c0b;hp=0d117e76ded642e9622ab1dff174de896851d313;hb=9f021c2bc129f8f7c659c64ad19531bd8073264a;hpb=09076d10dd553dc63f08e74aedb1b6aa030857f9 diff --git a/src/target/arm_cti.c b/src/target/arm_cti.c index 0d117e76de..f33379240d 100644 --- a/src/target/arm_cti.c +++ b/src/target/arm_cti.c @@ -173,7 +173,7 @@ int arm_cti_clear_channel(struct arm_cti *self, uint32_t channel) return arm_cti_write_reg(self, CTI_APPCLEAR, CTI_CHNL(channel)); } -static uint32_t cti_regs[26]; +static uint32_t cti_regs[28]; static const struct { uint32_t offset; @@ -206,6 +206,8 @@ static const struct { { CTI_CHOU_STATUS, "CHOUT", &cti_regs[23] }, { CTI_APPSET, "APPSET", &cti_regs[24] }, { CTI_APPCLEAR, "APPCLR", &cti_regs[25] }, + { CTI_APPPULSE, "APPPULSE", &cti_regs[26] }, + { CTI_INACK, "INACK", &cti_regs[27] }, }; static int cti_find_reg_offset(const char *name) @@ -216,6 +218,8 @@ 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; } @@ -297,7 +301,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; } @@ -320,7 +324,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; } @@ -431,6 +435,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; } }