projects
/
fw
/
openocd
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge remote branch 'origin/master' into HEAD
[fw/openocd]
/
src
/
target
/
mips32.c
diff --git
a/src/target/mips32.c
b/src/target/mips32.c
index 2547b011a9914354283b825bd878886362136b97..79215b5f3f0d91844c08786b3385bfacd16ba553 100644
(file)
--- a/
src/target/mips32.c
+++ b/
src/target/mips32.c
@@
-309,6
+309,7
@@
int mips32_init_arch_info(struct target *target, struct mips32_common *mips32, s
{
target->arch_info = mips32;
mips32->common_magic = MIPS32_COMMON_MAGIC;
{
target->arch_info = mips32;
mips32->common_magic = MIPS32_COMMON_MAGIC;
+ mips32->fast_data_area = NULL;
/* has breakpoint/watchpint unit been scanned */
mips32->bp_scanned = 0;
/* has breakpoint/watchpint unit been scanned */
mips32->bp_scanned = 0;
@@
-348,9
+349,9
@@
static int mips32_run_and_wait(struct target *target, uint32_t entry_point,
}
pc = buf_get_u32(mips32->core_cache->reg_list[MIPS32_PC].value, 0, 32);
}
pc = buf_get_u32(mips32->core_cache->reg_list[MIPS32_PC].value, 0, 32);
- if (
pc != exit_point
)
+ if (
exit_point && (pc != exit_point)
)
{
{
- LOG_DEBUG("failed algoritm halted at 0x%" PRIx32 " ", pc);
+ LOG_DEBUG("failed algorit
h
m halted at 0x%" PRIx32 " ", pc);
return ERROR_TARGET_TIMEOUT;
}
return ERROR_TARGET_TIMEOUT;
}
@@
-613,6
+614,8
@@
int mips32_checksum_memory(struct target *target, uint32_t address,
int retval;
uint32_t i;
int retval;
uint32_t i;
+ /* see contib/loaders/checksum/mips32.s for src */
+
static const uint32_t mips_crc_code[] =
{
0x248C0000, /* addiu $t4, $a0, 0 */
static const uint32_t mips_crc_code[] =
{
0x248C0000, /* addiu $t4, $a0, 0 */