diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/target/cortex_a.c | 6 | ||||
-rw-r--r-- | src/target/target.c | 21 | ||||
-rw-r--r-- | src/target/target_type.h | 2 |
3 files changed, 11 insertions, 18 deletions
diff --git a/src/target/cortex_a.c b/src/target/cortex_a.c index ee1559dd..ead35deb 100644 --- a/src/target/cortex_a.c +++ b/src/target/cortex_a.c @@ -1404,7 +1404,7 @@ static int cortex_a8_set_breakpoint(struct target *target, breakpoint->orig_instr); if (retval != ERROR_OK) return retval; - retval = target->type->write_memory(target, + retval = target_write_memory(target, breakpoint->address & 0xFFFFFFFE, breakpoint->length, 1, code); if (retval != ERROR_OK) @@ -1630,13 +1630,13 @@ static int cortex_a8_unset_breakpoint(struct target *target, struct breakpoint * } else { /* restore original instruction (kept in target endianness) */ if (breakpoint->length == 4) { - retval = target->type->write_memory(target, + retval = target_write_memory(target, breakpoint->address & 0xFFFFFFFE, 4, 1, breakpoint->orig_instr); if (retval != ERROR_OK) return retval; } else { - retval = target->type->write_memory(target, + retval = target_write_memory(target, breakpoint->address & 0xFFFFFFFE, 2, 1, breakpoint->orig_instr); if (retval != ERROR_OK) diff --git a/src/target/target.c b/src/target/target.c index 7e397569..183005e4 100644 --- a/src/target/target.c +++ b/src/target/target.c @@ -657,16 +657,6 @@ const char *target_type_name(struct target *target) return target->type->name; } -static int target_write_memory_imp(struct target *target, uint32_t address, - uint32_t size, uint32_t count, const uint8_t *buffer) -{ - if (!target_was_examined(target)) { - LOG_ERROR("Target not examined yet"); - return ERROR_FAIL; - } - return target->type->write_memory_imp(target, address, size, count, buffer); -} - static int target_read_memory_imp(struct target *target, uint32_t address, uint32_t size, uint32_t count, uint8_t *buffer) { @@ -963,12 +953,20 @@ static int target_read_phys_memory(struct target *target, int target_write_memory(struct target *target, uint32_t address, uint32_t size, uint32_t count, const uint8_t *buffer) { + if (!target_was_examined(target)) { + LOG_ERROR("Target not examined yet"); + return ERROR_FAIL; + } return target->type->write_memory(target, address, size, count, buffer); } static int target_write_phys_memory(struct target *target, uint32_t address, uint32_t size, uint32_t count, const uint8_t *buffer) { + if (!target_was_examined(target)) { + LOG_ERROR("Target not examined yet"); + return ERROR_FAIL; + } return target->type->write_phys_memory(target, address, size, count, buffer); } @@ -1093,9 +1091,6 @@ static int target_init_one(struct command_context *cmd_ctx, /* a non-invasive way(in terms of patches) to add some code that * runs before the type->write/read_memory implementation */ - type->write_memory_imp = target->type->write_memory; - type->write_memory = target_write_memory_imp; - type->read_memory_imp = target->type->read_memory; type->read_memory = target_read_memory_imp; diff --git a/src/target/target_type.h b/src/target/target_type.h index 99c8f513..6017e334 100644 --- a/src/target/target_type.h +++ b/src/target/target_type.h @@ -115,8 +115,6 @@ struct target_type { */ int (*read_memory)(struct target *target, uint32_t address, uint32_t size, uint32_t count, uint8_t *buffer); - int (*write_memory_imp)(struct target *target, uint32_t address, - uint32_t size, uint32_t count, const uint8_t *buffer); /** * Target memory write callback. Do @b not call this function * directly, use target_write_memory() instead. |