This first patch changes all invocations w/TAP_INVALID to
fish out the current end state at the caller site. It is a search  &
replace job and should be bug by bug compatible.

The next step(in a separate patch) will be to modify jtag.c to
make TAP_INVALID an illegal state to pass into jtag_add_xxx()
fn's.

Any objections?

-- 
Øyvind Harboe
Embedded software and hardware consulting services
http://consulting.zylin.com
### Eclipse Workspace Patch 1.0
#P openocd
Index: src/target/arm11.h
===================================================================
--- src/target/arm11.h  (revision 2029)
+++ src/target/arm11.h  (working copy)
@@ -47,7 +47,7 @@
                                         23 * ARM11_REGCACHE_MODEREGS +         
        \
                                          9 * ARM11_REGCACHE_FREGS)
 
-#define ARM11_TAP_DEFAULT                      TAP_INVALID
+#define ARM11_TAP_DEFAULT                      jtag_add_end_state(TAP_INVALID)
 
 
 #define CHECK_RETVAL(action)                                                   
        \
Index: src/target/arm720t.c
===================================================================
--- src/target/arm720t.c        (revision 2029)
+++ src/target/arm720t.c        (working copy)
@@ -119,15 +119,15 @@
        if (in)
        {
                fields[1].in_value = (u8 *)in;
-               jtag_add_dr_scan(2, fields, TAP_INVALID);
+               jtag_add_dr_scan(2, fields, jtag_add_end_state(TAP_INVALID));
                jtag_add_callback(arm7flip32, (u8 *)in);
        } else
        {
-               jtag_add_dr_scan(2, fields, TAP_INVALID);
+               jtag_add_dr_scan(2, fields, jtag_add_end_state(TAP_INVALID));
        }
 
        if (clock)
-               jtag_add_runtest(0, TAP_INVALID);
+               jtag_add_runtest(0, jtag_add_end_state(TAP_INVALID));
 
 #ifdef _DEBUG_INSTRUCTION_EXECUTION_
        if((retval = jtag_execute_queue()) != ERROR_OK)
Index: src/target/arm_adi_v5.c
===================================================================
--- src/target/arm_adi_v5.c     (revision 2029)
+++ src/target/arm_adi_v5.c     (working copy)
@@ -83,7 +83,7 @@
        fields[1].out_value = outvalue;
        fields[1].in_value = invalue;
 
-       jtag_add_dr_scan(2, fields, TAP_INVALID);
+       jtag_add_dr_scan(2, fields, jtag_add_end_state(TAP_INVALID));
 
        return ERROR_OK;
 }
@@ -118,13 +118,13 @@
        if (invalue)
        {
                fields[1].in_value = (u8 *)invalue;
-               jtag_add_dr_scan(2, fields, TAP_INVALID);
+               jtag_add_dr_scan(2, fields, jtag_add_end_state(TAP_INVALID));
 
                jtag_add_callback(arm_le_to_h_u32, (u8 *)invalue);
        } else
        {
 
-               jtag_add_dr_scan(2, fields, TAP_INVALID);
+               jtag_add_dr_scan(2, fields, jtag_add_end_state(TAP_INVALID));
        }
 
        return ERROR_OK;
Index: src/target/xscale.c
===================================================================
--- src/target/xscale.c (revision 2029)
+++ src/target/xscale.c (working copy)
@@ -212,7 +212,7 @@
                u8 tmp[4];
                field.in_value = tmp;
 
-               jtag_add_ir_scan(1, &field, TAP_INVALID);
+               jtag_add_ir_scan(1, &field, jtag_add_end_state(TAP_INVALID));
 
                /* FIX!!!! isn't this check superfluous? verify_ircapture 
handles this? */
                jtag_check_value_mask(&field, tap->expected, 
tap->expected_mask);
@@ -262,7 +262,7 @@
        u8 tmp2;
        fields[2].in_value = &tmp2;
 
-       jtag_add_dr_scan(3, fields, TAP_INVALID);
+       jtag_add_dr_scan(3, fields, jtag_add_end_state(TAP_INVALID));
 
        jtag_check_value_mask(fields+0, &field0_check_value, 
&field0_check_mask);
        jtag_check_value_mask(fields+2, &field2_check_value, 
&field2_check_mask);
@@ -285,7 +285,7 @@
 
        jtag_add_end_state(TAP_IDLE);
 
-       jtag_add_dr_scan(3, fields, TAP_INVALID);
+       jtag_add_dr_scan(3, fields, jtag_add_end_state(TAP_INVALID));
 
        /* DANGER!!! this must be here. It will make sure that the arguments
         * to jtag_set_check_value() does not go out of scope! */
@@ -347,7 +347,7 @@
 
        jtag_add_end_state(TAP_IDLE);
        xscale_jtag_set_instr(xscale->jtag_info.tap, xscale->jtag_info.dbgtx);
-       jtag_add_runtest(1, TAP_INVALID); /* ensures that we're in the TAP_IDLE 
state as the above could be a no-op */
+       jtag_add_runtest(1, jtag_add_end_state(TAP_INVALID)); /* ensures that 
we're in the TAP_IDLE state as the above could be a no-op */
 
        /* repeat until all words have been collected */
        int attempts=0;
@@ -725,7 +725,7 @@
        u8 tmp2;
        fields[2].in_value = &tmp2;
 
-       jtag_add_dr_scan(3, fields, TAP_INVALID);
+       jtag_add_dr_scan(3, fields, jtag_add_end_state(TAP_INVALID));
 
        jtag_check_value_mask(fields+0, &field0_check_value, 
&field0_check_mask);
        jtag_check_value_mask(fields+2, &field2_check_value, 
&field2_check_mask);
@@ -800,7 +800,7 @@
 
 
 
-       jtag_add_dr_scan(2, fields, TAP_INVALID);
+       jtag_add_dr_scan(2, fields, jtag_add_end_state(TAP_INVALID));
 
        fields[0].num_bits = 32;
        fields[0].out_value = packet;
@@ -816,7 +816,7 @@
                memcpy(&value, packet, sizeof(u32));
                cmd = parity(value);
 
-               jtag_add_dr_scan(2, fields, TAP_INVALID);
+               jtag_add_dr_scan(2, fields, jtag_add_end_state(TAP_INVALID));
        }
 
        jtag_execute_queue();
@@ -862,7 +862,7 @@
 
 
 
-       jtag_add_dr_scan(2, fields, TAP_INVALID);
+       jtag_add_dr_scan(2, fields, jtag_add_end_state(TAP_INVALID));
 
        return ERROR_OK;
 }
Index: src/target/feroceon.c
===================================================================
--- src/target/feroceon.c       (revision 2029)
+++ src/target/feroceon.c       (working copy)
@@ -159,9 +159,9 @@
        
        
 
-       jtag_add_dr_scan(3, fields, TAP_INVALID);
+       jtag_add_dr_scan(3, fields, jtag_add_end_state(TAP_INVALID));
 
-       /* no jtag_add_runtest(0, TAP_INVALID) here */
+       /* no jtag_add_runtest(0, jtag_add_end_state(TAP_INVALID)) here */
 
        return ERROR_OK;
 }
Index: src/target/embeddedice.c
===================================================================
--- src/target/embeddedice.c    (revision 2029)
+++ src/target/embeddedice.c    (working copy)
@@ -266,7 +266,7 @@
        fields[2].check_value = NULL;
        fields[2].check_mask = NULL;
 
-       jtag_add_dr_scan(3, fields, TAP_INVALID);
+       jtag_add_dr_scan(3, fields, jtag_add_end_state(TAP_INVALID));
 
        fields[0].in_value = reg->value;
        fields[0].check_value = check_value;
@@ -278,7 +278,7 @@
         */
        buf_set_u32(fields[1].out_value, 0, 5, 
embeddedice_reg_arch_info[EICE_COMMS_CTRL]);
 
-       jtag_add_dr_scan_check(3, fields, TAP_INVALID);
+       jtag_add_dr_scan_check(3, fields, jtag_add_end_state(TAP_INVALID));
 
        return ERROR_OK;
 }
@@ -314,7 +314,7 @@
        buf_set_u32(fields[2].out_value, 0, 1, 0);
        fields[2].in_value = NULL;
 
-       jtag_add_dr_scan(3, fields, TAP_INVALID);
+       jtag_add_dr_scan(3, fields, jtag_add_end_state(TAP_INVALID));
 
        while (size > 0)
        {
@@ -325,7 +325,7 @@
                        buf_set_u32(fields[1].out_value, 0, 5, 
embeddedice_reg_arch_info[EICE_COMMS_CTRL]);
 
                fields[0].in_value = (u8 *)data;
-               jtag_add_dr_scan(3, fields, TAP_INVALID);
+               jtag_add_dr_scan(3, fields, jtag_add_end_state(TAP_INVALID));
                jtag_add_callback(arm_le_to_h_u32, (u8 *)data);
 
                data++;
@@ -420,7 +420,7 @@
        while (size > 0)
        {
                buf_set_u32(fields[0].out_value, 0, 32, *data);
-               jtag_add_dr_scan(3, fields, TAP_INVALID);
+               jtag_add_dr_scan(3, fields, jtag_add_end_state(TAP_INVALID));
 
                data++;
                size--;
@@ -471,11 +471,11 @@
        buf_set_u32(fields[2].out_value, 0, 1, 0);
        fields[2].in_value = NULL;
 
-       jtag_add_dr_scan(3, fields, TAP_INVALID);
+       jtag_add_dr_scan(3, fields, jtag_add_end_state(TAP_INVALID));
        gettimeofday(&lap, NULL);
        do
        {
-               jtag_add_dr_scan(3, fields, TAP_INVALID);
+               jtag_add_dr_scan(3, fields, jtag_add_end_state(TAP_INVALID));
                if ((retval = jtag_execute_queue()) != ERROR_OK)
                        return retval;
 
Index: src/target/arm926ejs.c
===================================================================
--- src/target/arm926ejs.c      (revision 2029)
+++ src/target/arm926ejs.c      (working copy)
@@ -157,7 +157,7 @@
        fields[3].out_value = &nr_w_buf;
        fields[3].in_value = NULL;
 
-       jtag_add_dr_scan(4, fields, TAP_INVALID);
+       jtag_add_dr_scan(4, fields, jtag_add_end_state(TAP_INVALID));
 
        /*TODO: add timeout*/
        do
@@ -165,7 +165,7 @@
                /* rescan with NOP, to wait for the access to complete */
                access = 0;
                nr_w_buf = 0;
-               jtag_add_dr_scan(4, fields, TAP_INVALID);
+               jtag_add_dr_scan(4, fields, jtag_add_end_state(TAP_INVALID));
 
                jtag_add_callback(arm_le_to_h_u32, (u8 *)value);
 
@@ -227,14 +227,14 @@
        fields[3].out_value = &nr_w_buf;
        fields[3].in_value = NULL;
 
-       jtag_add_dr_scan(4, fields, TAP_INVALID);
+       jtag_add_dr_scan(4, fields, jtag_add_end_state(TAP_INVALID));
        /*TODO: add timeout*/
        do
        {
                /* rescan with NOP, to wait for the access to complete */
                access = 0;
                nr_w_buf = 0;
-               jtag_add_dr_scan(4, fields, TAP_INVALID);
+               jtag_add_dr_scan(4, fields, jtag_add_end_state(TAP_INVALID));
                if ((retval = jtag_execute_queue()) != ERROR_OK)
                {
                        return retval;
Index: src/target/arm966e.c
===================================================================
--- src/target/arm966e.c        (revision 2029)
+++ src/target/arm966e.c        (working copy)
@@ -189,11 +189,11 @@
        fields[2].out_value = &nr_w_buf;
        fields[2].in_value = NULL;
 
-       jtag_add_dr_scan(3, fields, TAP_INVALID);
+       jtag_add_dr_scan(3, fields, jtag_add_end_state(TAP_INVALID));
 
        fields[1].in_value = (u8 *)value;
 
-       jtag_add_dr_scan(3, fields, TAP_INVALID);
+       jtag_add_dr_scan(3, fields, jtag_add_end_state(TAP_INVALID));
 
        jtag_add_callback(arm_le_to_h_u32, (u8 *)value);
 
@@ -244,7 +244,7 @@
        fields[2].out_value = &nr_w_buf;
        fields[2].in_value = NULL;
 
-       jtag_add_dr_scan(3, fields, TAP_INVALID);
+       jtag_add_dr_scan(3, fields, jtag_add_end_state(TAP_INVALID));
 
 #ifdef _DEBUG_INSTRUCTION_EXECUTION_
        LOG_DEBUG("addr: 0x%x value: %8.8x", reg_addr, value);
Index: src/target/etm.c
===================================================================
--- src/target/etm.c    (revision 2029)
+++ src/target/etm.c    (working copy)
@@ -347,13 +347,13 @@
        fields[2].check_value = NULL;
        fields[2].check_mask = NULL;
 
-       jtag_add_dr_scan(3, fields, TAP_INVALID);
+       jtag_add_dr_scan(3, fields, jtag_add_end_state(TAP_INVALID));
 
        fields[0].in_value = reg->value;
        fields[0].check_value = check_value;
        fields[0].check_mask = check_mask;
 
-       jtag_add_dr_scan_check(3, fields, TAP_INVALID);
+       jtag_add_dr_scan_check(3, fields, jtag_add_end_state(TAP_INVALID));
 
        free(fields[1].out_value);
        free(fields[2].out_value);
@@ -430,7 +430,7 @@
        buf_set_u32(fields[2].out_value, 0, 1, 1);
        fields[2].in_value = NULL;
 
-       jtag_add_dr_scan(3, fields, TAP_INVALID);
+       jtag_add_dr_scan(3, fields, jtag_add_end_state(TAP_INVALID));
 
        return ERROR_OK;
 }
Index: src/target/mips_ejtag.c
===================================================================
--- src/target/mips_ejtag.c     (revision 2029)
+++ src/target/mips_ejtag.c     (working copy)
@@ -50,7 +50,7 @@
                
                
                
-               jtag_add_ir_scan(1, &field, TAP_INVALID);
+               jtag_add_ir_scan(1, &field, jtag_add_end_state(TAP_INVALID));
        }
 
        return ERROR_OK;
@@ -73,7 +73,7 @@
        
        
        
-       jtag_add_dr_scan(1, &field, TAP_INVALID);
+       jtag_add_dr_scan(1, &field, jtag_add_end_state(TAP_INVALID));
 
        if (jtag_execute_queue() != ERROR_OK)
        {
@@ -100,7 +100,7 @@
        
        
        
-       jtag_add_dr_scan(1, &field, TAP_INVALID);
+       jtag_add_dr_scan(1, &field, jtag_add_end_state(TAP_INVALID));
 
        if (jtag_execute_queue() != ERROR_OK)
        {
@@ -131,7 +131,7 @@
        
        
        
-       jtag_add_dr_scan(1, &field, TAP_INVALID);
+       jtag_add_dr_scan(1, &field, jtag_add_end_state(TAP_INVALID));
 
        if ((retval = jtag_execute_queue()) != ERROR_OK)
        {
Index: src/flash/str9xpec.c
===================================================================
--- src/flash/str9xpec.c        (revision 2029)
+++ src/flash/str9xpec.c        (working copy)
@@ -539,7 +539,7 @@
                field.out_value = NULL;
                field.in_value = &status;
 
-               jtag_add_dr_scan(1, &field, TAP_INVALID);
+               jtag_add_dr_scan(1, &field, jtag_add_end_state(TAP_INVALID));
                jtag_execute_queue();
 
        } while(!(status & ISC_STATUS_BUSY));
@@ -620,7 +620,7 @@
        field.out_value = &sector;
        field.in_value = NULL;
 
-       jtag_add_dr_scan(1, &field, TAP_INVALID);
+       jtag_add_dr_scan(1, &field, jtag_add_end_state(TAP_INVALID));
 
        return ERROR_OK;
 }
@@ -717,7 +717,7 @@
                                field.out_value = NULL;
                                field.in_value = scanbuf;
 
-                               jtag_add_dr_scan(1, &field, TAP_INVALID);
+                               jtag_add_dr_scan(1, &field, 
jtag_add_end_state(TAP_INVALID));
                                jtag_execute_queue();
 
                                status = buf_get_u32(scanbuf, 0, 8);
@@ -767,7 +767,7 @@
                        field.out_value = NULL;
                        field.in_value = scanbuf;
 
-                       jtag_add_dr_scan(1, &field, TAP_INVALID);
+                       jtag_add_dr_scan(1, &field, 
jtag_add_end_state(TAP_INVALID));
                        jtag_execute_queue();
 
                        status = buf_get_u32(scanbuf, 0, 8);
@@ -959,7 +959,7 @@
                field.out_value = NULL;
                field.in_value = &status;
 
-               jtag_add_dr_scan(1, &field, TAP_INVALID);
+               jtag_add_dr_scan(1, &field, jtag_add_end_state(TAP_INVALID));
                jtag_execute_queue();
 
        } while(!(status & ISC_STATUS_BUSY));
Index: src/target/etb.c
===================================================================
--- src/target/etb.c    (revision 2029)
+++ src/target/etb.c    (working copy)
@@ -63,7 +63,7 @@
 
                field.in_value = NULL;
 
-               jtag_add_ir_scan(1, &field, TAP_INVALID);
+               jtag_add_ir_scan(1, &field, jtag_add_end_state(TAP_INVALID));
 
                free(field.out_value);
        }
@@ -86,7 +86,7 @@
 
                /* select INTEST instruction */
                etb_set_instr(etb, 0x2);
-               jtag_add_dr_scan(1, &field, TAP_INVALID);
+               jtag_add_dr_scan(1, &field, jtag_add_end_state(TAP_INVALID));
 
                etb->cur_scan_chain = new_scan_chain;
 
@@ -190,7 +190,7 @@
        buf_set_u32(fields[2].out_value, 0, 1, 0);
        fields[2].in_value = NULL;
 
-       jtag_add_dr_scan(3, fields, TAP_INVALID);
+       jtag_add_dr_scan(3, fields, jtag_add_end_state(TAP_INVALID));
 
        for (i = 0; i < num_frames; i++)
        {
@@ -204,7 +204,7 @@
                        buf_set_u32(fields[1].out_value, 0, 7, 0);
 
                fields[0].in_value = (u8 *)(data+i);
-               jtag_add_dr_scan(3, fields, TAP_INVALID);
+               jtag_add_dr_scan(3, fields, jtag_add_end_state(TAP_INVALID));
 
                jtag_add_callback(etb_getbuf, (u8 *)(data+i));
        }
@@ -252,7 +252,7 @@
        fields[2].check_value = NULL;
        fields[2].check_mask = NULL;
 
-       jtag_add_dr_scan(3, fields, TAP_INVALID);
+       jtag_add_dr_scan(3, fields, jtag_add_end_state(TAP_INVALID));
 
        /* read the identification register in the second run, to make sure we
         * don't read the ETB data register twice, skipping every second entry
@@ -262,7 +262,7 @@
        fields[0].check_value = check_value;
        fields[0].check_mask = check_mask;
 
-       jtag_add_dr_scan_check(3, fields, TAP_INVALID);
+       jtag_add_dr_scan_check(3, fields, jtag_add_end_state(TAP_INVALID));
 
        free(fields[1].out_value);
        free(fields[2].out_value);
Index: tcl/interface/parport.cfg
===================================================================
--- tcl/interface/parport.cfg   (revision 2029)
+++ tcl/interface/parport.cfg   (working copy)
@@ -3,7 +3,7 @@
 #
 
 interface parport
-parport_port 0xc8b8
+parport_port 0x378
 parport_cable wiggler
 jtag_speed 0
 
Index: src/target/arm9tdmi.c
===================================================================
--- src/target/arm9tdmi.c       (revision 2029)
+++ src/target/arm9tdmi.c       (working copy)
@@ -204,16 +204,16 @@
        if (in)
        {
                fields[0].in_value=(u8 *)in;
-               jtag_add_dr_scan(3, fields, TAP_INVALID);
+               jtag_add_dr_scan(3, fields, jtag_add_end_state(TAP_INVALID));
 
                jtag_add_callback(arm_le_to_h_u32, (u8 *)in);
        }
        else
        {
-               jtag_add_dr_scan(3, fields, TAP_INVALID);
+               jtag_add_dr_scan(3, fields, jtag_add_end_state(TAP_INVALID));
        }
 
-       jtag_add_runtest(0, TAP_INVALID);
+       jtag_add_runtest(0, jtag_add_end_state(TAP_INVALID));
 
 #ifdef _DEBUG_INSTRUCTION_EXECUTION_
        {
@@ -263,11 +263,11 @@
        fields[2].out_value = NULL;
        fields[2].in_value = NULL;
 
-       jtag_add_dr_scan(3, fields, TAP_INVALID);
+       jtag_add_dr_scan(3, fields, jtag_add_end_state(TAP_INVALID));
 
        jtag_add_callback(arm_le_to_h_u32, (u8 *)in);
 
-       jtag_add_runtest(0, TAP_INVALID);
+       jtag_add_runtest(0, jtag_add_end_state(TAP_INVALID));
 
 #ifdef _DEBUG_INSTRUCTION_EXECUTION_
        {
@@ -330,11 +330,11 @@
        fields[2].out_value = NULL;
        fields[2].in_value = NULL;
 
-       jtag_add_dr_scan(3, fields, TAP_INVALID);
+       jtag_add_dr_scan(3, fields, jtag_add_end_state(TAP_INVALID));
 
        jtag_add_callback4(arm9endianness, in, (jtag_callback_data_t)size, 
(jtag_callback_data_t)be, (jtag_callback_data_t)fields[0].in_value);
 
-       jtag_add_runtest(0, TAP_INVALID);
+       jtag_add_runtest(0, jtag_add_end_state(TAP_INVALID));
 
 #ifdef _DEBUG_INSTRUCTION_EXECUTION_
        {
Index: src/jtag/jtag.c
===================================================================
--- src/jtag/jtag.c     (revision 2041)
+++ src/jtag/jtag.c     (working copy)
@@ -2228,7 +2228,7 @@
                return ERROR_COMMAND_SYNTAX_ERROR;
        }
 
-       jtag_add_runtest(strtol(args[0], NULL, 0), TAP_INVALID);
+       jtag_add_runtest(strtol(args[0], NULL, 0), 
jtag_add_end_state(TAP_INVALID));
        jtag_execute_queue();
 
        return ERROR_OK;
Index: src/target/arm_jtag.c
===================================================================
--- src/target/arm_jtag.c       (revision 2029)
+++ src/target/arm_jtag.c       (working copy)
@@ -53,13 +53,13 @@
 
                if (no_verify_capture==NULL)
                {
-                       jtag_add_ir_scan(1, &field, TAP_INVALID);
+                       jtag_add_ir_scan(1, &field, 
jtag_add_end_state(TAP_INVALID));
                } else
                {
                        /* FIX!!!! this is a kludge!!! arm926ejs.c should 
reimplement this arm_jtag_set_instr to
                         * have special verification code.
                         */
-                       jtag_add_ir_scan_noverify(1, &field, TAP_INVALID);
+                       jtag_add_ir_scan_noverify(1, &field, 
jtag_add_end_state(TAP_INVALID));
                }
        }
 
@@ -86,7 +86,7 @@
                                1,
                                num_bits,
                                values,
-                               TAP_INVALID);
+                               jtag_add_end_state(TAP_INVALID));
 
                jtag_info->cur_scan_chain = new_scan_chain;
        }
Index: src/target/arm920t.c
===================================================================
--- src/target/arm920t.c        (revision 2029)
+++ src/target/arm920t.c        (working copy)
@@ -127,11 +127,11 @@
        fields[3].out_value = &nr_w_buf;
        fields[3].in_value = NULL;
 
-       jtag_add_dr_scan(4, fields, TAP_INVALID);
+       jtag_add_dr_scan(4, fields, jtag_add_end_state(TAP_INVALID));
 
        fields[1].in_value = (u8 *)value;
 
-       jtag_add_dr_scan(4, fields, TAP_INVALID);
+       jtag_add_dr_scan(4, fields, jtag_add_end_state(TAP_INVALID));
 
        jtag_add_callback(arm_le_to_h_u32, (u8 *)value);
 
@@ -180,7 +180,7 @@
        fields[3].out_value = &nr_w_buf;
        fields[3].in_value = NULL;
 
-       jtag_add_dr_scan(4, fields, TAP_INVALID);
+       jtag_add_dr_scan(4, fields, jtag_add_end_state(TAP_INVALID));
 
 #ifdef _DEBUG_INSTRUCTION_EXECUTION_
        LOG_DEBUG("addr: 0x%x value: %8.8x", reg_addr, value);
@@ -227,7 +227,7 @@
        fields[3].out_value = &nr_w_buf;
        fields[3].in_value = NULL;
 
-       jtag_add_dr_scan(4, fields, TAP_INVALID);
+       jtag_add_dr_scan(4, fields, jtag_add_end_state(TAP_INVALID));
 
        arm9tdmi_clock_out(jtag_info, arm_opcode, 0, NULL, 0);
        arm9tdmi_clock_out(jtag_info, ARMV4_5_NOP, 0, NULL, 1);
Index: src/target/arm7tdmi.c
===================================================================
--- src/target/arm7tdmi.c       (revision 2029)
+++ src/target/arm7tdmi.c       (working copy)
@@ -147,9 +147,9 @@
                        2,
                        arm7tdmi_num_bits,
                        values,
-                       TAP_INVALID);
+                       jtag_add_end_state(TAP_INVALID));
 
-       jtag_add_runtest(0, TAP_INVALID);
+       jtag_add_runtest(0, jtag_add_end_state(TAP_INVALID));
 
        return ERROR_OK;
 }
@@ -187,11 +187,11 @@
        fields[1].out_value = NULL;
        fields[1].in_value = (u8 *)in;
 
-       jtag_add_dr_scan(2, fields, TAP_INVALID);
+       jtag_add_dr_scan(2, fields, jtag_add_end_state(TAP_INVALID));
 
        jtag_add_callback(arm7flip32, (u8 *)in);
 
-       jtag_add_runtest(0, TAP_INVALID);
+       jtag_add_runtest(0, jtag_add_end_state(TAP_INVALID));
 
 #ifdef _DEBUG_INSTRUCTION_EXECUTION_
 {
@@ -277,11 +277,11 @@
        fields[1].out_value = NULL;
        jtag_alloc_in_value32(&fields[1]);
 
-       jtag_add_dr_scan(2, fields, TAP_INVALID);
+       jtag_add_dr_scan(2, fields, jtag_add_end_state(TAP_INVALID));
 
        jtag_add_callback4(arm7endianness, in, (jtag_callback_data_t)size, 
(jtag_callback_data_t)be, (jtag_callback_data_t)fields[1].in_value);
 
-       jtag_add_runtest(0, TAP_INVALID);
+       jtag_add_runtest(0, jtag_add_end_state(TAP_INVALID));
 
 #ifdef _DEBUG_INSTRUCTION_EXECUTION_
 {
Index: src/target/embeddedice.h
===================================================================
--- src/target/embeddedice.h    (revision 2029)
+++ src/target/embeddedice.h    (working copy)
@@ -121,7 +121,7 @@
                        3,
                        embeddedice_num_bits,
                        values,
-                       TAP_INVALID);
+                       jtag_add_end_state(TAP_INVALID));
 }
 
 void embeddedice_write_dcc(jtag_tap_t *tap, int reg_addr, u8 *buffer, int 
little, int count);
_______________________________________________
Openocd-development mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to