X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2Fjtag%2Ftcl.c;h=9d6169ccfe7c0e8fb9bd042adacd88e7bf99088b;hb=5874d5f2ea2ef9bd7d759d47ed868269ba99ab65;hp=b86e006abd175af7afec7da1e79ddc73819c7b73;hpb=5e1b500b173c7abaf9b78e32d31140c1bd4ba090;p=openocd diff --git a/src/jtag/tcl.c b/src/jtag/tcl.c index b86e006a..9d6169cc 100644 --- a/src/jtag/tcl.c +++ b/src/jtag/tcl.c @@ -49,7 +49,7 @@ static const Jim_Nvp nvp_jtag_tap_event[] = { { .name = NULL, .value = -1 } }; -extern jtag_interface_t *jtag_interface; +extern struct jtag_interface *jtag_interface; enum jtag_tap_cfg_param { JCFG_EVENT @@ -61,7 +61,7 @@ static Jim_Nvp nvp_config_opts[] = { { .name = NULL, .value = -1 } }; -static int jtag_tap_configure_cmd(Jim_GetOptInfo *goi, jtag_tap_t * tap) +static int jtag_tap_configure_cmd(Jim_GetOptInfo *goi, struct jtag_tap * tap) { Jim_Nvp *n; Jim_Obj *o; @@ -103,7 +103,7 @@ static int jtag_tap_configure_cmd(Jim_GetOptInfo *goi, jtag_tap_t * tap) } { - jtag_tap_event_action_t *jteap; + struct jtag_tap_event_action *jteap; jteap = tap->event_action; /* replace existing? */ @@ -165,7 +165,7 @@ static int is_bad_irval(int ir_length, jim_wide w) static int jim_newtap_cmd(Jim_GetOptInfo *goi) { - jtag_tap_t *pTap; + struct jtag_tap *pTap; jim_wide w; int x; int e; @@ -187,7 +187,7 @@ static int jim_newtap_cmd(Jim_GetOptInfo *goi) { .name = NULL , .value = -1 }, }; - pTap = calloc(1, sizeof(jtag_tap_t)); + pTap = calloc(1, sizeof(struct jtag_tap)); if (!pTap) { Jim_SetResult_sprintf(goi->interp, "no memory"); return JIM_ERR; @@ -335,9 +335,9 @@ static int jim_newtap_cmd(Jim_GetOptInfo *goi) return JIM_ERR; } -static void jtag_tap_handle_event(jtag_tap_t *tap, enum jtag_event e) +static void jtag_tap_handle_event(struct jtag_tap *tap, enum jtag_event e) { - jtag_tap_event_action_t * jteap; + struct jtag_tap_event_action * jteap; for (jteap = tap->event_action; jteap != NULL; jteap = jteap->next) { if (jteap->event == e) { @@ -459,7 +459,7 @@ static int jim_jtag_command(Jim_Interp *interp, int argc, Jim_Obj *const *argv) } { - jtag_tap_t *t; + struct jtag_tap *t; t = jtag_tap_by_jim_obj(goi.interp, goi.argv[0]); if (t == NULL) @@ -511,7 +511,7 @@ static int jim_jtag_command(Jim_Interp *interp, int argc, Jim_Obj *const *argv) } { - jtag_tap_t *t; + struct jtag_tap *t; Jim_GetOpt_Obj(&goi, &o); t = jtag_tap_by_jim_obj(goi.interp, o); @@ -532,7 +532,7 @@ static int jim_jtag_command(Jim_Interp *interp, int argc, Jim_Obj *const *argv) } { - jtag_tap_t *t; + struct jtag_tap *t; Jim_GetOpt_Obj(&goi, &o); t = jtag_tap_by_jim_obj(goi.interp, o); @@ -552,7 +552,7 @@ static int jim_jtag_command(Jim_Interp *interp, int argc, Jim_Obj *const *argv) } Jim_SetResult(goi.interp, Jim_NewListObj(goi.interp, NULL, 0)); { - jtag_tap_t *tap; + struct jtag_tap *tap; for (tap = jtag_all_taps(); tap; tap = tap->next_tap) { Jim_ListAppendElement(goi.interp, @@ -572,7 +572,7 @@ static int jim_jtag_command(Jim_Interp *interp, int argc, Jim_Obj *const *argv) void jtag_notify_event(enum jtag_event event) { - jtag_tap_t *tap; + struct jtag_tap *tap; for (tap = jtag_all_taps(); tap; tap = tap->next_tap) jtag_tap_handle_event(tap, event); @@ -603,10 +603,9 @@ static int default_srst_asserted(int *srst_asserted) return ERROR_OK; } -static int handle_interface_list_command(struct command_context_s *cmd_ctx, - char *cmd, char **args, int argc) +COMMAND_HANDLER(handle_interface_list_command) { - if (strcmp(cmd, "interface_list") == 0 && argc > 0) + if (strcmp(CMD_NAME, "interface_list") == 0 && argc > 0) return ERROR_COMMAND_SYNTAX_ERROR; command_print(cmd_ctx, "The following JTAG interfaces are available:"); @@ -619,8 +618,7 @@ static int handle_interface_list_command(struct command_context_s *cmd_ctx, return ERROR_OK; } -static int handle_interface_command(struct command_context_s *cmd_ctx, - char *cmd, char **args, int argc) +COMMAND_HANDLER(handle_interface_command) { /* check whether the interface is already configured */ if (jtag_interface) @@ -660,13 +658,13 @@ static int handle_interface_command(struct command_context_s *cmd_ctx, * didn't match one of the compiled-in interfaces */ LOG_ERROR("The specified JTAG interface was not found (%s)", args[0]); - handle_interface_list_command(cmd_ctx, cmd, args, argc); + CALL_COMMAND_HANDLER(handle_interface_list_command); return ERROR_JTAG_INVALID_INTERFACE; } -static int handle_scan_chain_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc) +COMMAND_HANDLER(handle_scan_chain_command) { - jtag_tap_t *tap; + struct jtag_tap *tap; tap = jtag_all_taps(); command_print(cmd_ctx, " TapName | Enabled | IdCode Expected IrLen IrCap IrMask Instr "); @@ -701,7 +699,7 @@ static int handle_scan_chain_command(struct command_context_s *cmd_ctx, char *cm return ERROR_OK; } -static int handle_reset_config_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc) +COMMAND_HANDLER(handle_reset_config_command) { int new_cfg = 0; int mask = 0; @@ -897,8 +895,7 @@ next: return ERROR_OK; } -static int handle_jtag_nsrst_delay_command(struct command_context_s *cmd_ctx, - char *cmd, char **args, int argc) +COMMAND_HANDLER(handle_jtag_nsrst_delay_command) { if (argc > 1) return ERROR_COMMAND_SYNTAX_ERROR; @@ -913,8 +910,7 @@ static int handle_jtag_nsrst_delay_command(struct command_context_s *cmd_ctx, return ERROR_OK; } -static int handle_jtag_ntrst_delay_command(struct command_context_s *cmd_ctx, - char *cmd, char **args, int argc) +COMMAND_HANDLER(handle_jtag_ntrst_delay_command) { if (argc > 1) return ERROR_COMMAND_SYNTAX_ERROR; @@ -929,8 +925,7 @@ static int handle_jtag_ntrst_delay_command(struct command_context_s *cmd_ctx, return ERROR_OK; } -static int handle_jtag_nsrst_assert_width_command(struct command_context_s *cmd_ctx, - char *cmd, char **args, int argc) +COMMAND_HANDLER(handle_jtag_nsrst_assert_width_command) { if (argc > 1) return ERROR_COMMAND_SYNTAX_ERROR; @@ -945,8 +940,7 @@ static int handle_jtag_nsrst_assert_width_command(struct command_context_s *cmd_ return ERROR_OK; } -static int handle_jtag_ntrst_assert_width_command(struct command_context_s *cmd_ctx, - char *cmd, char **args, int argc) +COMMAND_HANDLER(handle_jtag_ntrst_assert_width_command) { if (argc > 1) return ERROR_COMMAND_SYNTAX_ERROR; @@ -961,7 +955,7 @@ static int handle_jtag_ntrst_assert_width_command(struct command_context_s *cmd_ return ERROR_OK; } -static int handle_jtag_khz_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc) +COMMAND_HANDLER(handle_jtag_khz_command) { if (argc > 1) return ERROR_COMMAND_SYNTAX_ERROR; @@ -990,7 +984,7 @@ static int handle_jtag_khz_command(struct command_context_s *cmd_ctx, char *cmd, return retval; } -static int handle_jtag_rclk_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc) +COMMAND_HANDLER(handle_jtag_rclk_command) { if (argc > 1) return ERROR_COMMAND_SYNTAX_ERROR; @@ -1019,8 +1013,7 @@ static int handle_jtag_rclk_command(struct command_context_s *cmd_ctx, char *cmd return retval; } -static int handle_jtag_reset_command(struct command_context_s *cmd_ctx, - char *cmd, char **args, int argc) +COMMAND_HANDLER(handle_jtag_reset_command) { if (argc != 2) return ERROR_COMMAND_SYNTAX_ERROR; @@ -1048,8 +1041,7 @@ static int handle_jtag_reset_command(struct command_context_s *cmd_ctx, return jtag_execute_queue(); } -static int handle_runtest_command(struct command_context_s *cmd_ctx, - char *cmd, char **args, int argc) +COMMAND_HANDLER(handle_runtest_command) { if (argc != 1) return ERROR_COMMAND_SYNTAX_ERROR; @@ -1083,11 +1075,11 @@ static bool scan_is_safe(tap_state_t state) } -static int handle_irscan_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc) +COMMAND_HANDLER(handle_irscan_command) { int i; - scan_field_t *fields; - jtag_tap_t *tap; + struct scan_field *fields; + struct jtag_tap *tap; tap_state_t endstate; if ((argc < 2) || (argc % 2)) @@ -1116,7 +1108,7 @@ static int handle_irscan_command(struct command_context_s *cmd_ctx, char *cmd, c } int num_fields = argc / 2; - size_t fields_len = sizeof(scan_field_t) * num_fields; + size_t fields_len = sizeof(struct scan_field) * num_fields; fields = malloc(fields_len); memset(fields, 0, fields_len); @@ -1167,11 +1159,11 @@ error_return: static int Jim_Command_drscan(Jim_Interp *interp, int argc, Jim_Obj *const *args) { int retval; - scan_field_t *fields; + struct scan_field *fields; int num_fields; int field_count = 0; int i, e; - jtag_tap_t *tap; + struct jtag_tap *tap; tap_state_t endstate; /* args[1] = device @@ -1253,7 +1245,7 @@ static int Jim_Command_drscan(Jim_Interp *interp, int argc, Jim_Obj *const *args } num_fields = (argc-2)/2; - fields = malloc(sizeof(scan_field_t) * num_fields); + fields = malloc(sizeof(struct scan_field) * num_fields); for (i = 2; i < argc; i += 2) { long bits; @@ -1358,7 +1350,7 @@ static int Jim_Command_flush_count(Jim_Interp *interp, int argc, Jim_Obj *const } -static int handle_verify_ircapture_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc) +COMMAND_HANDLER(handle_verify_ircapture_command) { if (argc > 1) return ERROR_COMMAND_SYNTAX_ERROR; @@ -1379,7 +1371,7 @@ static int handle_verify_ircapture_command(struct command_context_s *cmd_ctx, ch return ERROR_OK; } -static int handle_verify_jtag_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc) +COMMAND_HANDLER(handle_verify_jtag_command) { if (argc > 1) return ERROR_COMMAND_SYNTAX_ERROR; @@ -1400,7 +1392,7 @@ static int handle_verify_jtag_command(struct command_context_s *cmd_ctx, char *c return ERROR_OK; } -static int handle_tms_sequence_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc) +COMMAND_HANDLER(handle_tms_sequence_command) { if (argc > 1) return ERROR_COMMAND_SYNTAX_ERROR;