cortex_a: Update instruction cache after setting a soft breakpoint
authorMatthias Welwarsky <matthias@welwarsky.de>
Sun, 18 Oct 2015 11:50:58 +0000 (13:50 +0200)
committerPaul Fertser <fercerpav@gmail.com>
Mon, 30 Nov 2015 05:43:03 +0000 (05:43 +0000)
commitf24aa404ba14bb048f55752b241a6a8185f77b3f
tree25d94221865bd97d9e3d5640a91c74078bd2cffe
parent9484dd5ebfcc7f9426f8ffc37f5486cd0387bb6a
cortex_a: Update instruction cache after setting a soft breakpoint

Call armv7a_l1_d_cache_flush_virt() before writing the breakpoint,
to make sure the d-cache is clean and invalid at the breakpoint
location down to PoC.

Call armv7a_l1_d_cache_inval_virt() after writing the breakpoint
again, so that d-cache will pick up the modified code.
Call armv7a_l1_i_cache_inval_virt() after writing the breakpoint
to memory to make the change visible to the CPU.

Change-Id: I24fc27058d99cb00d7f6002ccb623cab66b0d234
Signed-off-by: Matthias Welwarsky <matthias@welwarsky.de>
Reviewed-on: http://openocd.zylin.com/3033
Reviewed-by: Paul Fertser <fercerpav@gmail.com>
Tested-by: jenkins
src/target/armv7a_cache.c
src/target/armv7a_cache.h
src/target/cortex_a.c