From bbd84417f63837008f56e791df9005e26457ff60 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=C3=98yvind=20Harboe?= Date: Fri, 5 Aug 2011 09:57:46 +0200 Subject: [PATCH] arm11: disable broken optimization for setting current scan chain --- src/target/arm11_dbgtap.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/target/arm11_dbgtap.c b/src/target/arm11_dbgtap.c index 5c671cc5..a5dc3768 100644 --- a/src/target/arm11_dbgtap.c +++ b/src/target/arm11_dbgtap.c @@ -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); -- 2.39.5