aboutsummaryrefslogtreecommitdiff
path: root/src/target/mips_ejtag.c
diff options
context:
space:
mode:
authorSalvador Arroyo <sarroyofdez@yahoo.es>2013-04-03 17:12:01 +0200
committerFreddie Chopin <freddie.chopin@gmail.com>2013-04-20 19:32:29 +0000
commit9695564e6321b24edfc03cac555a914dcc7154f6 (patch)
treef092258db4adb50fa251641c5d3726c0a314bb21 /src/target/mips_ejtag.c
parentd5e564625f72e1018f56a707b60d47a5ca9fece9 (diff)
mips: m4k alternate pracc code. Patch 4
Now all the functions with only fetch accesses are modified. The same delay between scans has been added to mips32_pracc_fastdata_xfer(), it should work at the same scan rates as the other pracc functions, but it needs higher scan_delays to work. Change-Id: Ifb31d8ea6de9d22674385782913d221a2494dbbf Signed-off-by: Salvador Arroyo <sarroyofdez@yahoo.es> Reviewed-on: http://openocd.zylin.com/1196 Tested-by: jenkins Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com>
Diffstat (limited to 'src/target/mips_ejtag.c')
-rw-r--r--src/target/mips_ejtag.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/target/mips_ejtag.c b/src/target/mips_ejtag.c
index 8f62712d..44345455 100644
--- a/src/target/mips_ejtag.c
+++ b/src/target/mips_ejtag.c
@@ -260,16 +260,15 @@ int mips_ejtag_enter_debug(struct mips_ejtag *ejtag_info)
int mips_ejtag_exit_debug(struct mips_ejtag *ejtag_info)
{
- uint32_t inst;
- inst = MIPS32_DRET;
+ uint32_t instr = MIPS32_DRET;
+ struct pracc_queue_info ctx = {.max_code = 1, .pracc_list = &instr, .code_count = 1, .store_count = 0};
/* execute our dret instruction */
- int retval = mips32_pracc_exec(ejtag_info, 1, &inst, 0, NULL, 0, NULL, 0);
+ ctx.retval = mips32_pracc_queue_exec(ejtag_info, &ctx, NULL);
/* pic32mx workaround, false pending at low core clock */
jtag_add_sleep(1000);
-
- return retval;
+ return ctx.retval;
}
int mips_ejtag_init(struct mips_ejtag *ejtag_info)