Speed up mips_m4k_write_memory()
Do not call mips32_cp0_read() if not needed. This will speed up execution of mips_m4k_write_memory() by near 2x, with parameter count = 1. Change-Id: I7829a7802b6475bc6d4ac3f0632d8d239d1072da Signed-off-by: Salvador <sarroyofdez@yahoo.es> Reviewed-on: http://openocd.zylin.com/624 Tested-by: jenkins Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com>__archive__
parent
9a8edbfa8b
commit
09cd5661e6
|
@ -829,6 +829,9 @@ int mips32_pracc_write_mem(struct mips_ejtag *ejtag_info, uint32_t addr, int siz
|
|||
uint32_t conf = 0;
|
||||
int cached = 0;
|
||||
|
||||
if ((KSEGX(addr) == KSEG1) || ((addr >= 0xff200000) && (addr <= 0xff3fffff)))
|
||||
return retval; /*Nothing to do*/
|
||||
|
||||
mips32_cp0_read(ejtag_info, &conf, 16, 0);
|
||||
|
||||
switch (KSEGX(addr)) {
|
||||
|
@ -838,9 +841,6 @@ int mips32_pracc_write_mem(struct mips_ejtag *ejtag_info, uint32_t addr, int siz
|
|||
case KSEG0:
|
||||
cached = (conf & MIPS32_CONFIG0_K0_MASK) >> MIPS32_CONFIG0_K0_SHIFT;
|
||||
break;
|
||||
case KSEG1:
|
||||
/* uncachable segment - nothing to do */
|
||||
break;
|
||||
case KSEG2:
|
||||
case KSEG3:
|
||||
cached = (conf & MIPS32_CONFIG0_K23_MASK) >> MIPS32_CONFIG0_K23_SHIFT;
|
||||
|
|
Loading…
Reference in New Issue