openocd/src
Salvador Arroyo b08306a172 mips: load fast data transfer handler code with mips32_pracc_write_mem()
Currently the code is loaded calling mips32_pracc_write_mem_generic().
Cache synchronization is not performed.
If configured as write back cache there is no chance to execute the
handler. If configured as write through cache and the cache
lines written to are not cache resident (I-side cache miss) may work.
The patch makes possible to execute the handler in a cached active
memory segment (mainly from KSEG0), but nothing else. The data
is still loaded without performing cache synchronization, code loaded
may not be executable.
Performance may not be faster. At start, for example, the code resides in
main memory, not in cache, and the core must transfer code from
memory. We can really modify the code to force a wait for the first
transfer like we do with start and end addresses, making sure the code
is cache resident for the rest of the queued transfers.
This can also may happen if we execute code (greater than the I cache size)
and the handler code is evicted from the cache.
Code tested on ar7241.

Change-Id: Iffdb4dae108b872fef0e7bacc5ea99649cdc1630
Signed-off-by: Salvador Arroyo <sarroyofdez@yahoo.es>
Reviewed-on: http://openocd.zylin.com/1564
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com>
2014-05-09 20:38:21 +00:00
..
flash Fix some C99 format specifiers 2014-05-05 20:18:38 +00:00
helper Update to the current Jim Tcl 2014-05-09 20:12:17 +00:00
jtag ftdi: Optimize GPIO toggling 2014-05-09 19:27:50 +00:00
pld update files to correct FSF address 2013-06-05 19:52:42 +00:00
rtos Don't cast return value of [cm]alloc 2014-03-30 03:53:45 +00:00
server gdb_server: do not copy feature names for tdesc generation 2014-03-17 12:42:26 +00:00
svf svf: Fix debug and error messages that print hex buffer 2014-05-05 20:25:10 +00:00
target mips: load fast data transfer handler code with mips32_pracc_write_mem() 2014-05-09 20:38:21 +00:00
transport Don't cast return value of [cm]alloc 2014-03-30 03:53:45 +00:00
xsvf update files to correct FSF address 2013-06-05 19:52:42 +00:00
hello.c update files to correct FSF address 2013-06-05 19:52:42 +00:00
hello.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
main.c update files to correct FSF address 2013-06-05 19:52:42 +00:00
Makefile.am Makefile.am: fix build for libftdi1, pass CFLAGS where appropriate 2014-04-14 18:09:40 +00:00
openocd.c update files to correct FSF address 2013-06-05 19:52:42 +00:00
openocd.h update files to correct FSF address 2013-06-05 19:52:42 +00:00