aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Fritiofson <andreas.fritiofson@gmail.com>2013-03-10 14:39:31 +0100
committerSpencer Oliver <spen@spen-soft.co.uk>2013-03-13 12:36:09 +0000
commit9b6de72c2ba149ac6f3e11d6d0dd3030bf7b19f9 (patch)
treeadcf77d8cecf7f4d8fc25c246a933ea8166a41bc
parent5914310f88161967cd1759e536f8069b9b15bdde (diff)
downloadriscv-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.c4
-rw-r--r--src/target/cortex_a.c2
-rw-r--r--src/target/target.c33
-rw-r--r--src/target/target.h4
-rw-r--r--src/target/target_type.h3
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.