aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSalvador <sarroyofdez@yahoo.es>2012-05-09 17:21:19 +0200
committerFreddie Chopin <freddie.chopin@gmail.com>2012-07-30 06:39:03 +0000
commit09cd5661e6d275cd736d3b6c91f373c83e37d70c (patch)
tree9fa8e50332bca82921716b129cefdb2cd69dfd17 /src
parent9a8edbfa8bd83d58a1904dfd35a00f9793d99314 (diff)
downloadriscv-openocd-09cd5661e6d275cd736d3b6c91f373c83e37d70c.zip
riscv-openocd-09cd5661e6d275cd736d3b6c91f373c83e37d70c.tar.gz
riscv-openocd-09cd5661e6d275cd736d3b6c91f373c83e37d70c.tar.bz2
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>
Diffstat (limited to 'src')
-rw-r--r--src/target/mips32_pracc.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/target/mips32_pracc.c b/src/target/mips32_pracc.c
index d657b98..abf12e0 100644
--- a/src/target/mips32_pracc.c
+++ b/src/target/mips32_pracc.c
@@ -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;