aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Savin <greg.savin@sifive.com>2019-11-05 13:44:25 -0800
committerGreg Savin <greg.savin@sifive.com>2019-11-05 13:44:25 -0800
commitc1b79a85bbf1d6f4f8ea6a0b885392d4c997a38a (patch)
tree8f5c40cd3062707542a7cdd16de5bed4e64e4222
parent1e3c2bdda4c56b2c87cdb118cfc673314dbe1231 (diff)
downloadriscv-openocd-bscan_optimization.zip
riscv-openocd-bscan_optimization.tar.gz
riscv-openocd-bscan_optimization.tar.bz2
Whenever bscan mode is entered, reset the variable that tracksbscan_optimization
whether we are certain that USER4 has already been selected into IR.
-rw-r--r--src/target/riscv/riscv.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/target/riscv/riscv.c b/src/target/riscv/riscv.c
index 70c5e2f..1ac7aaf 100644
--- a/src/target/riscv/riscv.c
+++ b/src/target/riscv/riscv.c
@@ -2257,6 +2257,13 @@ COMMAND_HANDLER(riscv_use_bscan_tunnel)
bscan_tunnel_type = tunnel_type;
bscan_tunnel_ir_width = irwidth;
+ /* Set things up to generate another one-time loading of USER4 into IR the first time
+ a RISCV scan happens from this point, in case somebody transitioned out of bscan
+ tunneling mode and did some other activity on the outer JTAG chain after having
+ been in bscan tunneling mode at an earlier time within the same lifetime of this
+ process (which may have loaded a different IR value). */
+ bscan_user4_selected = false;
+
return ERROR_OK;
}