If fastdata access fails, then fallback to default mips_m4k_write_memory
Remove unnecessary fastdata loader verify check

Signed-off-by: Spencer Oliver <ntfr...@users.sourceforge.net>
---
  src/target/mips32_pracc.c |   10 +---------
  src/target/mips_m4k.c     |    6 ++++++
  2 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/src/target/mips32_pracc.c b/src/target/mips32_pracc.c
index 26d5a6b..ac1d1b3 100644
--- a/src/target/mips32_pracc.c
+++ b/src/target/mips32_pracc.c
@@ -968,15 +968,7 @@ int mips32_pracc_fastdata_xfer(struct mips_ejtag 
*ejtag_info, struct working_are
        /* write program into RAM */
        mips32_pracc_write_mem32(ejtag_info, source->address, 
ARRAY_SIZE(handler_code), handler_code);

-       /* quick verify RAM is working */
-       mips32_pracc_read_u32(ejtag_info, source->address, &val);
-       if (val != handler_code[0])
-       {
-               LOG_ERROR("fastdata handler verify failed\n");
-               return ERROR_TARGET_RESOURCE_NOT_AVAILABLE;
-       }
-
-       LOG_INFO("%s using 0x%.8x for write handler\n", __func__, 
source->address);
+       LOG_DEBUG("%s using 0x%.8x for write handler\n", __func__, 
source->address);

        jmp_code[1] |= UPPER16(source->address);
        jmp_code[2] |= LOWER16(source->address);
diff --git a/src/target/mips_m4k.c b/src/target/mips_m4k.c
index 4adc1f1..312fc09 100644
--- a/src/target/mips_m4k.c
+++ b/src/target/mips_m4k.c
@@ -1001,6 +1001,12 @@ int mips_m4k_bulk_write_memory(struct target 
*target, uint32_t address, uint32_t
        }

        retval = mips32_pracc_fastdata_xfer(ejtag_info, source, write, 
address, count, (uint32_t*) buffer);
+       if (retval != ERROR_OK)
+       {
+               /* FASTDATA access failed, try normal memory write */
+               LOG_WARNING("Fastdata access Failed, falling back to non-bulk 
write");
+               retval = mips_m4k_write_memory(target, address, 4, count, 
buffer);
+       }

        if (source)
                target_free_working_area(target, source);
-- 
1.6.5.1.1367.gcd48
_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to