target: Remove write_memory_imp 18/1218/2
authorAndreas Fritiofson <andreas.fritiofson@gmail.com>
Sun, 10 Mar 2013 12:16:14 +0000 (13:16 +0100)
committerSpencer Oliver <spen@spen-soft.co.uk>
Wed, 13 Mar 2013 12:36:04 +0000 (12:36 +0000)
Change-Id: I5d933bc19443bba8a0193c90471fdd0614324a92
Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Reviewed-on: http://openocd.zylin.com/1218
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
src/target/cortex_a.c
src/target/target.c
src/target/target_type.h

index ee1559d..ead35de 100644 (file)
@@ -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)
index 7e39756..183005e 100644 (file)
@@ -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;
 
index 99c8f51..6017e33 100644 (file)
@@ -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.