Committed.

The attached patch takes care of TAP_IDLE invocations updating
the global end state variable.

TAP_IDLE is the most numerous.


-- 
Øyvind Harboe
Embedded software and hardware consulting services
http://consulting.zylin.com
### Eclipse Workspace Patch 1.0
#P openocd
Index: src/flash/str9xpec.c
===================================================================
--- src/flash/str9xpec.c        (revision 2042)
+++ src/flash/str9xpec.c        (working copy)
@@ -137,7 +137,7 @@
        field.in_value = &status;
 
 
-       jtag_add_dr_scan(1, &field, TAP_IDLE);
+       jtag_add_dr_scan(1, &field, jtag_add_end_state(TAP_IDLE));
        jtag_execute_queue();
 
        LOG_DEBUG("status: 0x%2.2x", status);
@@ -225,7 +225,7 @@
        field.in_value = str9xpec_info->options;
 
 
-       jtag_add_dr_scan(1, &field, TAP_IDLE);
+       jtag_add_dr_scan(1, &field, jtag_add_end_state(TAP_IDLE));
        jtag_execute_queue();
 
        status = str9xpec_isc_status(tap);
@@ -372,7 +372,7 @@
        field.out_value = buffer;
        field.in_value = NULL;
 
-       jtag_add_dr_scan(1, &field, TAP_IDLE);
+       jtag_add_dr_scan(1, &field, jtag_add_end_state(TAP_IDLE));
        jtag_add_sleep(40000);
 
        /* read blank check result */
@@ -478,7 +478,7 @@
        field.out_value = buffer;
        field.in_value = NULL;
 
-       jtag_add_dr_scan(1, &field, TAP_IDLE);
+       jtag_add_dr_scan(1, &field, jtag_add_end_state(TAP_IDLE));
        jtag_execute_queue();
 
        jtag_add_sleep(10);
@@ -704,7 +704,7 @@
                        field.out_value = (buffer + bytes_written);
                        field.in_value = NULL;
 
-                       jtag_add_dr_scan(1, &field, TAP_IDLE);
+                       jtag_add_dr_scan(1, &field, 
jtag_add_end_state(TAP_IDLE));
 
                        /* small delay before polling */
                        jtag_add_sleep(50);
@@ -754,7 +754,7 @@
                field.out_value = last_dword;
                field.in_value = NULL;
 
-               jtag_add_dr_scan(1, &field, TAP_IDLE);
+               jtag_add_dr_scan(1, &field, jtag_add_end_state(TAP_IDLE));
 
                /* small delay before polling */
                jtag_add_sleep(50);
@@ -826,7 +826,7 @@
        field.out_value = NULL;
        field.in_value = buffer;
 
-       jtag_add_dr_scan(1, &field, TAP_IDLE);
+       jtag_add_dr_scan(1, &field, jtag_add_end_state(TAP_IDLE));
        jtag_execute_queue();
 
        idcode = buf_get_u32(buffer, 0, 32);
@@ -946,7 +946,7 @@
        field.out_value = str9xpec_info->options;
        field.in_value = NULL;
 
-       jtag_add_dr_scan(1, &field, TAP_IDLE);
+       jtag_add_dr_scan(1, &field, jtag_add_end_state(TAP_IDLE));
 
        /* small delay before polling */
        jtag_add_sleep(50);
Index: src/target/arm_adi_v5.c
===================================================================
--- src/target/arm_adi_v5.c     (revision 2042)
+++ src/target/arm_adi_v5.c     (working copy)
@@ -70,7 +70,7 @@
 
        /* Add specified number of tck clocks before accessing memory bus */
        if ((instr == DAP_IR_APACC) && ((reg_addr == 
AP_REG_DRW)||((reg_addr&0xF0) == AP_REG_BD0) )&& (swjdp->memaccess_tck != 0))
-               jtag_add_runtest(swjdp->memaccess_tck, TAP_IDLE);
+               jtag_add_runtest(swjdp->memaccess_tck, 
jtag_add_end_state(TAP_IDLE));
 
        fields[0].tap = jtag_info->tap;
        fields[0].num_bits = 3;
@@ -101,7 +101,7 @@
 
        /* Add specified number of tck clocks before accessing memory bus */
        if ((instr == DAP_IR_APACC) && ((reg_addr == 
AP_REG_DRW)||((reg_addr&0xF0) == AP_REG_BD0) )&& (swjdp->memaccess_tck != 0))
-               jtag_add_runtest(swjdp->memaccess_tck, TAP_IDLE);
+               jtag_add_runtest(swjdp->memaccess_tck, 
jtag_add_end_state(TAP_IDLE));
 
        fields[0].tap = jtag_info->tap;
        fields[0].num_bits = 3;
Index: src/pld/virtex2.c
===================================================================
--- src/pld/virtex2.c   (revision 2029)
+++ src/pld/virtex2.c   (working copy)
@@ -58,7 +58,7 @@
 
 
 
-               jtag_add_ir_scan(1, &field, TAP_IDLE);
+               jtag_add_ir_scan(1, &field, jtag_add_end_state(TAP_IDLE));
 
                free(field.out_value);
        }
@@ -186,11 +186,11 @@
 
        jtag_add_end_state(TAP_IDLE);
        virtex2_set_instr(virtex2_info->tap, 0xc); /* JSTART */
-       jtag_add_runtest(13, TAP_IDLE);
+       jtag_add_runtest(13, jtag_add_end_state(TAP_IDLE));
        virtex2_set_instr(virtex2_info->tap, 0x3f); /* BYPASS */
        virtex2_set_instr(virtex2_info->tap, 0x3f); /* BYPASS */
        virtex2_set_instr(virtex2_info->tap, 0xc); /* JSTART */
-       jtag_add_runtest(13, TAP_IDLE);
+       jtag_add_runtest(13, jtag_add_end_state(TAP_IDLE));
        virtex2_set_instr(virtex2_info->tap, 0x3f); /* BYPASS */
        jtag_execute_queue();
 
Index: src/target/xscale.c
===================================================================
--- src/target/xscale.c (revision 2042)
+++ src/target/xscale.c (working copy)
@@ -363,7 +363,7 @@
 
                        fields[1].in_value = (u8 *)(field1+i);
 
-                       jtag_add_dr_scan_check(3, fields, TAP_IDLE);
+                       jtag_add_dr_scan_check(3, fields, 
jtag_add_end_state(TAP_IDLE));
 
                        jtag_add_callback(xscale_getbuf, (u8 *)(field1+i));
 
@@ -477,7 +477,7 @@
                        
jtag_add_pathmove(sizeof(noconsume_path)/sizeof(*noconsume_path), 
noconsume_path);
                }
 
-               jtag_add_dr_scan(3, fields, TAP_IDLE);
+               jtag_add_dr_scan(3, fields, jtag_add_end_state(TAP_IDLE));
 
                jtag_check_value_mask(fields+0, &field0_check_value, 
&field0_check_mask);
                jtag_check_value_mask(fields+2, &field2_check_value, 
&field2_check_mask);
@@ -560,7 +560,7 @@
        LOG_DEBUG("polling RX");
        for (;;)
        {
-               jtag_add_dr_scan(3, fields, TAP_IDLE);
+               jtag_add_dr_scan(3, fields, jtag_add_end_state(TAP_IDLE));
 
                jtag_check_value_mask(fields+0, &field0_check_value, 
&field0_check_mask);
                jtag_check_value_mask(fields+2, &field2_check_value, 
&field2_check_mask);
@@ -592,7 +592,7 @@
 
        /* set rx_valid */
        field2 = 0x1;
-       jtag_add_dr_scan(3, fields, TAP_IDLE);
+       jtag_add_dr_scan(3, fields, jtag_add_end_state(TAP_IDLE));
 
        if ((retval = jtag_execute_queue()) != ERROR_OK)
        {
@@ -658,7 +658,7 @@
                                3,
                                bits,
                                t,
-                               TAP_IDLE);
+                               jtag_add_end_state(TAP_IDLE));
                buffer += size;
        }
 
@@ -1646,7 +1646,7 @@
                /* wait 300ms; 150 and 100ms were not enough */
                jtag_add_sleep(300*1000);
 
-               jtag_add_runtest(2030, TAP_IDLE);
+               jtag_add_runtest(2030, jtag_add_end_state(TAP_IDLE));
                jtag_execute_queue();
 
                /* set Hold reset, Halt mode and Trap Reset */
@@ -1709,7 +1709,7 @@
                xscale_load_ic(target, 1, 0x0, xscale->low_vectors);
                xscale_load_ic(target, 1, 0xffff0000, xscale->high_vectors);
 
-               jtag_add_runtest(30, TAP_IDLE);
+               jtag_add_runtest(30, jtag_add_end_state(TAP_IDLE));
 
                jtag_add_sleep(100000);
 
Index: src/target/arm11_dbgtap.c
===================================================================
--- src/target/arm11_dbgtap.c   (revision 2029)
+++ src/target/arm11_dbgtap.c   (working copy)
@@ -439,7 +439,7 @@
                {
                        Data        = *data;
 
-                       arm11_add_dr_scan_vc(asizeof(chain5_fields), 
chain5_fields, TAP_IDLE);
+                       arm11_add_dr_scan_vc(asizeof(chain5_fields), 
chain5_fields, jtag_add_end_state(TAP_IDLE));
 
                        CHECK_RETVAL(jtag_execute_queue());
 
@@ -532,7 +532,7 @@
                }
                else
                {
-                       jtag_add_dr_scan(asizeof(chain5_fields), chain5_fields, 
TAP_IDLE);
+                       jtag_add_dr_scan(asizeof(chain5_fields), chain5_fields, 
jtag_add_end_state(TAP_IDLE));
                }
        }
 
Index: src/target/arm7_9_common.c
===================================================================
--- src/target/arm7_9_common.c  (revision 2029)
+++ src/target/arm7_9_common.c  (working copy)
@@ -1731,7 +1731,7 @@
        }
        arm_jtag_set_instr(jtag_info, 0x4, NULL);
 
-       jtag_add_runtest(1, TAP_IDLE);
+       jtag_add_runtest(1, jtag_add_end_state(TAP_IDLE));
        return jtag_execute_queue();
 }
 
Index: src/target/avrt.c
===================================================================
--- src/target/avrt.c   (revision 2029)
+++ src/target/avrt.c   (working copy)
@@ -218,7 +218,7 @@
                field[0].num_bits = tap->ir_length;
                field[0].out_value = ir_out;
                field[0].in_value = ir_in;
-               jtag_add_plain_ir_scan(sizeof(field) / sizeof(field[0]), field, 
TAP_IDLE);
+               jtag_add_plain_ir_scan(sizeof(field) / sizeof(field[0]), field, 
jtag_add_end_state(TAP_IDLE));
        }
 
        return ERROR_OK;
@@ -239,7 +239,7 @@
                field[0].num_bits = dr_len;
                field[0].out_value = dr_out;
                field[0].in_value = dr_in;
-               jtag_add_plain_dr_scan(sizeof(field) / sizeof(field[0]), field, 
TAP_IDLE);
+               jtag_add_plain_dr_scan(sizeof(field) / sizeof(field[0]), field, 
jtag_add_end_state(TAP_IDLE));
        }
 
        return ERROR_OK;
_______________________________________________
Openocd-development mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to