]> git.sur5r.net Git - openocd/commitdiff
arm11: disable broken optimization for setting current scan chain
authorØyvind Harboe <oyvind.harboe@zylin.com>
Fri, 5 Aug 2011 07:57:46 +0000 (09:57 +0200)
committerØyvind Harboe <oyvind.harboe@zylin.com>
Mon, 8 Aug 2011 20:33:41 +0000 (22:33 +0200)
src/target/arm11_dbgtap.c

index 5c671cc5f86f7e65ade90cbc786da18951b4fe7c..a5dc37687c95ccbd139a74f85a5b9b89ecc1f5a9 100644 (file)
@@ -199,11 +199,17 @@ int arm11_add_debug_SCAN_N(struct arm11_common *arm11,
         * NOTE:  the ITRSEL instruction fakes SCREG changing;
         * but leaves its actual value unchanged.
         */
+#if 0
+       // FIX!!! the optimization below is broken because we do not
+       // invalidate the cur_scan_chain upon a TRST/TMS. See arm_jtag.c
+       // for example on how to invalidate cur_scan_chain. Tested patches gladly
+       // accepted!
        if (arm11->jtag_info.cur_scan_chain == chain) {
                JTAG_DEBUG("SCREG <= %d SKIPPED", chain);
                return jtag_add_statemove((state == ARM11_TAP_DEFAULT)
                                        ? TAP_DRPAUSE : state);
        }
+#endif
        JTAG_DEBUG("SCREG <= %d", chain);
 
        arm11_add_IR(arm11, ARM11_SCAN_N, ARM11_TAP_DEFAULT);