Debug message updates:

 - Shrink messaging during resets, primarily by getting rid of
   "nothing happened" noise that hides *useful* information.

 - Improve: the "no IDCODE" message by identifying which tap only
   supports BYPASS; and the TAP event strings.
 
Related minor code updates:

 - Remove two needless tests when examining the chain:  we know
   we have a TAP, and that all TAPs have names.

 - Clean up two loops, turning "while"s into "for"s which better
   show what's actually being done.

---
 src/jtag/core.c     |   23 ++++++-----------------
 src/jtag/tcl.c      |   15 +--------------
 src/target/target.c |   13 +------------
 3 files changed, 8 insertions(+), 43 deletions(-)

--- a/src/jtag/core.c
+++ b/src/jtag/core.c
@@ -60,9 +60,9 @@ static int jtag_error = ERROR_OK;
 
 static const char *jtag_event_strings[] =
 {
-       [JTAG_TRST_ASSERTED] = "JTAG controller reset (TLR or TRST)",
+       [JTAG_TRST_ASSERTED] = "TAP reset",
        [JTAG_TAP_EVENT_ENABLE] = "TAP enabled",
-       [JTAG_TAP_EVENT_POST_RESET] = "post reset",
+       [JTAG_TAP_EVENT_POST_RESET] = "TAP post reset",
        [JTAG_TAP_EVENT_DISABLE] = "TAP disabled",
 };
 
@@ -820,9 +820,6 @@ static int jtag_reset_callback(enum jtag
 {
        jtag_tap_t *tap = priv;
 
-       LOG_DEBUG("TAP %s event %s", tap->dotted_name,
-                       jtag_event_strings[event]);
-
        if (event == JTAG_TRST_ASSERTED)
        {
                tap->enabled = !tap->disabled_after_reset;
@@ -943,15 +940,10 @@ static bool jtag_examine_chain_match_tap
        for (ii = 0; ii < tap->expected_ids_cnt; ii++)
        {
                if (tap->idcode == tap->expected_ids[ii])
-                       break;
+                       return true;
        }
 
        /* If none of the expected ids matched, log an error */
-       if (ii != tap->expected_ids_cnt)
-       {
-               LOG_DEBUG("JTAG Tap/device matched");
-               return true;
-       }
        jtag_examine_chain_display(LOG_LVL_ERROR, "got",
                        tap->dotted_name, tap->idcode);
        for (ii = 0; ii < tap->expected_ids_cnt; ii++)
@@ -994,7 +986,8 @@ static int jtag_examine_chain(void)
                if ((idcode & 1) == 0)
                {
                        /* LSB must not be 0, this indicates a device in bypass 
*/
-                       LOG_WARNING("Tap/Device does not have IDCODE");
+                       LOG_WARNING("TAP %s does not have IDCODE",
+                                       tap->dotted_name);
                        idcode = 0;
                        tap->hasidcode = false;
 
@@ -1017,15 +1010,11 @@ static int jtag_examine_chain(void)
                        }
 
                        jtag_examine_chain_display(LOG_LVL_INFO, "tap/device 
found",
-                                       tap ? tap->dotted_name : "(not-named)",
-                                       idcode);
+                                       tap->dotted_name, idcode);
 
                        bit_count += 32;
                }
                device_count++;
-               if (!tap)
-                       continue;
-
                tap->idcode = idcode;
 
                // ensure the TAP ID does matches what was expected
--- a/src/jtag/tcl.c
+++ b/src/jtag/tcl.c
@@ -358,14 +358,9 @@ static int jim_newtap_cmd(Jim_GetOptInfo
 static void jtag_tap_handle_event(jtag_tap_t *tap, enum jtag_event e)
 {
        jtag_tap_event_action_t * jteap;
-       int done;
-
-       jteap = tap->event_action;
 
-       done = 0;
-       while (jteap) {
+       for (jteap = tap->event_action; jteap != NULL; jteap = jteap->next) {
                if (jteap->event == e) {
-                       done = 1;
                        LOG_DEBUG("JTAG tap: %s event: %d (%s) action: %s\n",
                                        tap->dotted_name,
                                        e,
@@ -386,14 +381,6 @@ static void jtag_tap_handle_event(jtag_t
                                break;
                        }
                }
-
-               jteap = jteap->next;
-       }
-
-       if (!done) {
-               LOG_DEBUG("event %d %s - no action",
-                               e,
-                               Jim_Nvp_value2name_simple(nvp_jtag_tap_event, 
e)->name);
        }
 }
 
--- a/src/target/target.c
+++ b/src/target/target.c
@@ -3409,14 +3409,9 @@ void target_all_handle_event(enum target
 void target_handle_event(target_t *target, enum target_event e)
 {
        target_event_action_t *teap;
-       int done;
-
-       teap = target->event_action;
 
-       done = 0;
-       while (teap) {
+       for (teap = target->event_action; teap != NULL; teap = teap->next) {
                if (teap->event == e) {
-                       done = 1;
                        LOG_DEBUG("target: (%d) %s (%s) event: %d (%s) action: 
%s",
                                           target->target_number,
                                           target->cmd_name,
@@ -3429,12 +3424,6 @@ void target_handle_event(target_t *targe
                                Jim_PrintErrorMessage(interp);
                        }
                }
-               teap = teap->next;
-       }
-       if (!done) {
-               LOG_DEBUG("event: %d %s - no action",
-                                  e,
-                                  Jim_Nvp_value2name_simple(nvp_target_event, 
e)->name);
        }
 }
 
_______________________________________________
Openocd-development mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to