diff options
author | Andreas Fritiofson <andreas.fritiofson@gmail.com> | 2013-03-10 14:39:31 +0100 |
---|---|---|
committer | Spencer Oliver <spen@spen-soft.co.uk> | 2013-03-13 12:36:09 +0000 |
commit | 9b6de72c2ba149ac6f3e11d6d0dd3030bf7b19f9 (patch) | |
tree | adcf77d8cecf7f4d8fc25c246a933ea8166a41bc | |
parent | 5914310f88161967cd1759e536f8069b9b15bdde (diff) | |
download | riscv-openocd-9b6de72c2ba149ac6f3e11d6d0dd3030bf7b19f9.zip riscv-openocd-9b6de72c2ba149ac6f3e11d6d0dd3030bf7b19f9.tar.gz riscv-openocd-9b6de72c2ba149ac6f3e11d6d0dd3030bf7b19f9.tar.bz2 |
target: Remove read_memory_imp
Change-Id: Idc6ef3b075ccbb5945df8fea746011cb17175d8f
Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Reviewed-on: http://openocd.zylin.com/1219
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
-rw-r--r-- | src/rtos/linux.c | 4 | ||||
-rw-r--r-- | src/target/cortex_a.c | 2 | ||||
-rw-r--r-- | src/target/target.c | 33 | ||||
-rw-r--r-- | src/target/target.h | 4 | ||||
-rw-r--r-- | src/target/target_type.h | 3 |
5 files changed, 18 insertions, 28 deletions
diff --git a/src/rtos/linux.c b/src/rtos/linux.c index e0f71ef..23b1a9e 100644 --- a/src/rtos/linux.c +++ b/src/rtos/linux.c @@ -140,9 +140,9 @@ static int linux_read_memory(struct target *target, return ERROR_FAIL; } #ifdef PHYS - target->type->read_phys_memory(target, pa, size, count, buffer); + target_read_phys_memory(target, pa, size, count, buffer); #endif - target->type->read_memory(target, address, size, count, buffer); + target_read_memory(target, address, size, count, buffer); return ERROR_OK; } diff --git a/src/target/cortex_a.c b/src/target/cortex_a.c index ead35de..3923b3d 100644 --- a/src/target/cortex_a.c +++ b/src/target/cortex_a.c @@ -1398,7 +1398,7 @@ static int cortex_a8_set_breakpoint(struct target *target, buf_set_u32(code, 0, 32, ARMV5_T_BKPT(0x11)); else buf_set_u32(code, 0, 32, ARMV5_BKPT(0x11)); - retval = target->type->read_memory(target, + retval = target_read_memory(target, breakpoint->address & 0xFFFFFFFE, breakpoint->length, 1, breakpoint->orig_instr); diff --git a/src/target/target.c b/src/target/target.c index 183005e..db676b9 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_read_memory_imp(struct target *target, uint32_t address, - uint32_t size, uint32_t count, uint8_t *buffer) -{ - if (!target_was_examined(target)) { - LOG_ERROR("Target not examined yet"); - return ERROR_FAIL; - } - return target->type->read_memory_imp(target, address, size, count, buffer); -} - static int target_soft_reset_halt(struct target *target) { if (!target_was_examined(target)) { @@ -941,12 +931,20 @@ int target_run_flash_async_algorithm(struct target *target, int target_read_memory(struct target *target, uint32_t address, uint32_t size, uint32_t count, uint8_t *buffer) { + if (!target_was_examined(target)) { + LOG_ERROR("Target not examined yet"); + return ERROR_FAIL; + } return target->type->read_memory(target, address, size, count, buffer); } -static int target_read_phys_memory(struct target *target, +int target_read_phys_memory(struct target *target, uint32_t address, uint32_t size, uint32_t count, uint8_t *buffer) { + if (!target_was_examined(target)) { + LOG_ERROR("Target not examined yet"); + return ERROR_FAIL; + } return target->type->read_phys_memory(target, address, size, count, buffer); } @@ -960,7 +958,7 @@ int target_write_memory(struct target *target, return target->type->write_memory(target, address, size, count, buffer); } -static int target_write_phys_memory(struct target *target, +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)) { @@ -1083,17 +1081,6 @@ static int target_init_one(struct command_context *cmd_ctx, return retval; } - /** - * @todo get rid of those *memory_imp() methods, now that all - * callers are using target_*_memory() accessors ... and make - * sure the "physical" paths handle the same issues. - */ - /* a non-invasive way(in terms of patches) to add some code that - * runs before the type->write/read_memory implementation - */ - type->read_memory_imp = target->type->read_memory; - type->read_memory = target_read_memory_imp; - /* Sanity-check MMU support ... stub in what we must, to help * implement it in stages, but warn if we need to do so. */ diff --git a/src/target/target.h b/src/target/target.h index 3eade51..3baafbe 100644 --- a/src/target/target.h +++ b/src/target/target.h @@ -461,6 +461,8 @@ int target_run_flash_async_algorithm(struct target *target, */ int target_read_memory(struct target *target, uint32_t address, uint32_t size, uint32_t count, uint8_t *buffer); +int target_read_phys_memory(struct target *target, + uint32_t address, uint32_t size, uint32_t count, uint8_t *buffer); /** * Write @a count items of @a size bytes to the memory of @a target at * the @a address given. @a address must be aligned to @a size @@ -480,6 +482,8 @@ int target_read_memory(struct target *target, */ int target_write_memory(struct target *target, uint32_t address, uint32_t size, uint32_t count, const uint8_t *buffer); +int target_write_phys_memory(struct target *target, + uint32_t address, uint32_t size, uint32_t count, const uint8_t *buffer); /** * Write @a count items of 4 bytes to the memory of @a target at diff --git a/src/target/target_type.h b/src/target/target_type.h index 6017e33..5b72d84 100644 --- a/src/target/target_type.h +++ b/src/target/target_type.h @@ -107,8 +107,7 @@ struct target_type { * size: 1 = byte (8bit), 2 = half-word (16bit), 4 = word (32bit) * count: number of items of <size> */ - int (*read_memory_imp)(struct target *target, uint32_t address, - uint32_t size, uint32_t count, uint8_t *buffer); + /** * Target memory read callback. Do @b not call this function * directly, use target_read_memory() instead. |