mips: m4k alternate pracc code. Patch 2 94/1194/11
authorSalvador Arroyo <sarroyofdez@yahoo.es>
Sun, 3 Mar 2013 12:08:42 +0000 (13:08 +0100)
committerFreddie Chopin <freddie.chopin@gmail.com>
Sat, 20 Apr 2013 19:32:19 +0000 (19:32 +0000)
commit37c28903a13376674936d658ee87c0e1b305f597
tree9db626520dcceb50ca1e738dbf2c1305b0a4dfdd
parent109f37c16176019b00b5a026c4e42cdfeafd2dfd
mips: m4k alternate pracc code. Patch 2

Each pracc function defines a variable ctx of type struct pracc_queue_info.
To simplify the code tree auxiliary functions are defined: pracc_queue_init(), pracc_add() and
pracc_queue_free().
The second parameter in pracc_add() is the store address if the instruction is a store at dmseg,
otherwise it should be 0.
The code is executed by mips32_pracc_queue_exec(). If ejtag_info->mode is 0 mips32_pracc_exec()
is called and it should work like with current code.
To generate the delay between scans the number of clock ticks are calculated with the help of
jtag_get_speed_khz(). Due to delays in the execution of each single ftdi instruction the number of ticks
are higher as it should be, specially at higher scan rates.
mips32_pracc_read_u32() should now work with the new code.

Change-Id: I471590a4fc89b56af10bd46c48767b4c64de154f
Signed-off-by: Salvador Arroyo <sarroyofdez@yahoo.es>
Reviewed-on: http://openocd.zylin.com/1194
Tested-by: jenkins
Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com>
src/target/mips32_pracc.c