target: Add default implementation of bulk_write_memory 13/1213/2
authorAndreas Fritiofson <andreas.fritiofson@gmail.com>
Fri, 8 Mar 2013 00:17:18 +0000 (01:17 +0100)
committerSpencer Oliver <spen@spen-soft.co.uk>
Fri, 15 Mar 2013 15:56:25 +0000 (15:56 +0000)
Remove dummy implementations from all targets except arm7_9 and mips, which
are the only ones with real implementations. Replace with a single default
implementation simply calling target_write_memory().

Change-Id: I9228104240bc0b50661be20bc7909713ccda2164
Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Reviewed-on: http://openocd.zylin.com/1213
Tested-by: jenkins
Reviewed-by: Øyvind Harboe <oyvindharboe@gmail.com>
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
src/target/arm11.c
src/target/avr32_ap7k.c
src/target/cortex_a.c
src/target/cortex_m.c
src/target/dsp563xx.c
src/target/dsp5680xx.c
src/target/hla_target.c
src/target/target.c
src/target/xscale.c

index bb7b9c6be010d5f5e605c840acc34b037e3a330f..26e8116f64ee400e141c7d0b96504bf6fe6ad13f 100644 (file)
@@ -1038,18 +1038,6 @@ static int arm11_write_memory(struct target *target,
                count, buffer, count == 1);
 }
 
                count, buffer, count == 1);
 }
 
-/* write target memory in multiples of 4 byte, optimized for writing large quantities of data */
-static int arm11_bulk_write_memory(struct target *target,
-       uint32_t address, uint32_t count, const uint8_t *buffer)
-{
-       if (target->state != TARGET_HALTED) {
-               LOG_WARNING("target was not halted");
-               return ERROR_TARGET_NOT_HALTED;
-       }
-
-       return arm11_write_memory(target, address, 4, count, buffer);
-}
-
 /* target break-/watchpoint control
 * rw: 0 = write, 1 = read, 2 = access
 */
 /* target break-/watchpoint control
 * rw: 0 = write, 1 = read, 2 = access
 */
@@ -1366,8 +1354,6 @@ struct target_type arm11_target = {
        .read_memory = arm11_read_memory,
        .write_memory = arm11_write_memory,
 
        .read_memory = arm11_read_memory,
        .write_memory = arm11_write_memory,
 
-       .bulk_write_memory = arm11_bulk_write_memory,
-
        .checksum_memory = arm_checksum_memory,
        .blank_check_memory = arm_blank_check_memory,
 
        .checksum_memory = arm_checksum_memory,
        .blank_check_memory = arm_blank_check_memory,
 
index c8f0f8e819bcaede08b7e7d62bc484ac5e8e478d..749bf301020db8e39dcd889212b9a5d889c619b9 100644 (file)
@@ -566,15 +566,6 @@ static int avr32_ap7k_examine(struct target *target)
        return ERROR_OK;
 }
 
        return ERROR_OK;
 }
 
-static int avr32_ap7k_bulk_write_memory(struct target *target, uint32_t address,
-       uint32_t count, const uint8_t *buffer)
-{
-       LOG_ERROR("%s: implement me", __func__);
-
-       return ERROR_OK;
-}
-
-
 int avr32_ap7k_arch_state(struct target *target)
 {
        struct avr32_ap7k_common *ap7k = target_to_ap7k(target);
 int avr32_ap7k_arch_state(struct target *target)
 {
        struct avr32_ap7k_common *ap7k = target_to_ap7k(target);
@@ -630,7 +621,6 @@ struct target_type avr32_ap7k_target = {
 
        .read_memory = avr32_ap7k_read_memory,
        .write_memory = avr32_ap7k_write_memory,
 
        .read_memory = avr32_ap7k_read_memory,
        .write_memory = avr32_ap7k_write_memory,
-       .bulk_write_memory = avr32_ap7k_bulk_write_memory,
        /* .checksum_memory = avr32_ap7k_checksum_memory, */
        /* .blank_check_memory = avr32_ap7k_blank_check_memory, */
 
        /* .checksum_memory = avr32_ap7k_checksum_memory, */
        /* .blank_check_memory = avr32_ap7k_blank_check_memory, */
 
index 7721b9bf96df0e4f878a0ec87f8d5dbece66742b..d9d804921f7116c127fd3e4bb00f308a66c39154 100644 (file)
@@ -2340,12 +2340,6 @@ static int cortex_a8_write_memory(struct target *target, uint32_t address,
        return retval;
 }
 
        return retval;
 }
 
-static int cortex_a8_bulk_write_memory(struct target *target, uint32_t address,
-       uint32_t count, const uint8_t *buffer)
-{
-       return cortex_a8_write_memory(target, address, 4, count, buffer);
-}
-
 static int cortex_a8_handle_target_request(void *priv)
 {
        struct target *target = priv;
 static int cortex_a8_handle_target_request(void *priv)
 {
        struct target *target = priv;
@@ -2782,7 +2776,6 @@ struct target_type cortexa8_target = {
 
        .read_memory = cortex_a8_read_memory,
        .write_memory = cortex_a8_write_memory,
 
        .read_memory = cortex_a8_read_memory,
        .write_memory = cortex_a8_write_memory,
-       .bulk_write_memory = cortex_a8_bulk_write_memory,
 
        .checksum_memory = arm_checksum_memory,
        .blank_check_memory = arm_blank_check_memory,
 
        .checksum_memory = arm_checksum_memory,
        .blank_check_memory = arm_blank_check_memory,
index 1d645c67eee6d39f42016929308b1a51709c2048..c436bad482a592431fa6b8c1d30b6125b2bbd62c 100644 (file)
@@ -1664,12 +1664,6 @@ static int cortex_m3_write_memory(struct target *target, uint32_t address,
        return retval;
 }
 
        return retval;
 }
 
-static int cortex_m3_bulk_write_memory(struct target *target, uint32_t address,
-       uint32_t count, const uint8_t *buffer)
-{
-       return cortex_m3_write_memory(target, address, 4, count, buffer);
-}
-
 static int cortex_m3_init_target(struct command_context *cmd_ctx,
        struct target *target)
 {
 static int cortex_m3_init_target(struct command_context *cmd_ctx,
        struct target *target)
 {
@@ -2285,7 +2279,6 @@ struct target_type cortexm3_target = {
 
        .read_memory = cortex_m3_read_memory,
        .write_memory = cortex_m3_write_memory,
 
        .read_memory = cortex_m3_read_memory,
        .write_memory = cortex_m3_write_memory,
-       .bulk_write_memory = cortex_m3_bulk_write_memory,
        .checksum_memory = armv7m_checksum_memory,
        .blank_check_memory = armv7m_blank_check_memory,
 
        .checksum_memory = armv7m_checksum_memory,
        .blank_check_memory = armv7m_blank_check_memory,
 
index 1d703eebc058bf701bad76fdf281caa19eebb089..b9c8b4dc27d5bb0c63d2c7635f39e6916521820e 100644 (file)
@@ -1814,15 +1814,6 @@ static int dsp563xx_write_buffer_default(struct target *target,
                        buffer);
 }
 
                        buffer);
 }
 
-static int dsp563xx_bulk_write_memory_default(struct target *target,
-       uint32_t address,
-       uint32_t count,
-       const uint8_t *buffer)
-{
-       return dsp563xx_write_memory(target,
-                       dsp563xx_get_default_memory(), address, 4, count, buffer);
-}
-
 static int dsp563xx_add_breakpoint(struct target *target, struct breakpoint *breakpoint)
 {
        return ERROR_OK;
 static int dsp563xx_add_breakpoint(struct target *target, struct breakpoint *breakpoint)
 {
        return ERROR_OK;
@@ -2055,7 +2046,6 @@ struct target_type dsp563xx_target = {
 
        .read_memory = dsp563xx_read_memory_default,
        .write_memory = dsp563xx_write_memory_default,
 
        .read_memory = dsp563xx_read_memory_default,
        .write_memory = dsp563xx_write_memory_default,
-       .bulk_write_memory = dsp563xx_bulk_write_memory_default,
 
        .read_buffer = dsp563xx_read_buffer_default,
        .write_buffer = dsp563xx_write_buffer_default,
 
        .read_buffer = dsp563xx_read_buffer_default,
        .write_buffer = dsp563xx_write_buffer_default,
index ae160c4f3accafa5f0b4b22da4a910518d4be548..f82fa63dc35279fa04835b4de6e5fa5e73d70610 100644 (file)
@@ -1470,13 +1470,6 @@ static int dsp5680xx_write(struct target *t, uint32_t a, uint32_t s, uint32_t c,
        return retval;
 }
 
        return retval;
 }
 
-static int dsp5680xx_bulk_write_memory(struct target *t, uint32_t a,
-                                      uint32_t al, const uint8_t *b)
-{
-       LOG_ERROR("Not implemented yet.");
-       return ERROR_FAIL;
-}
-
 static int dsp5680xx_write_buffer(struct target *t, uint32_t a, uint32_t size,
                                  const uint8_t *b)
 {
 static int dsp5680xx_write_buffer(struct target *t, uint32_t a, uint32_t size,
                                  const uint8_t *b)
 {
@@ -2300,7 +2293,6 @@ struct target_type dsp5680xx_target = {
 
        .read_memory = dsp5680xx_read,
        .write_memory = dsp5680xx_write,
 
        .read_memory = dsp5680xx_read,
        .write_memory = dsp5680xx_write,
-       .bulk_write_memory = dsp5680xx_bulk_write_memory,
 
        .checksum_memory = dsp5680xx_checksum_memory,
 
 
        .checksum_memory = dsp5680xx_checksum_memory,
 
index 937391b3441ca1fcb7c7c092b6569e015a699f08..65e056863fe530354b59f795ec590cd6b7050214 100644 (file)
@@ -777,13 +777,6 @@ static int adapter_write_memory(struct target *target, uint32_t address,
        return ERROR_OK;
 }
 
        return ERROR_OK;
 }
 
-static int adapter_bulk_write_memory(struct target *target,
-               uint32_t address, uint32_t count,
-               const uint8_t *buffer)
-{
-       return adapter_write_memory(target, address, 4, count, buffer);
-}
-
 static const struct command_registration adapter_command_handlers[] = {
        {
                .chain = arm_command_handlers,
 static const struct command_registration adapter_command_handlers[] = {
        {
                .chain = arm_command_handlers,
@@ -815,7 +808,6 @@ struct target_type hla_target = {
 
        .read_memory = adapter_read_memory,
        .write_memory = adapter_write_memory,
 
        .read_memory = adapter_read_memory,
        .write_memory = adapter_write_memory,
-       .bulk_write_memory = adapter_bulk_write_memory,
        .checksum_memory = armv7m_checksum_memory,
        .blank_check_memory = armv7m_blank_check_memory,
 
        .checksum_memory = armv7m_checksum_memory,
        .blank_check_memory = armv7m_blank_check_memory,
 
index 279fc18fc655ca51a2709653863c5f1e20accb62..04e375b8493dfefeb098284b9efd48eed18874a3 100644 (file)
@@ -976,6 +976,12 @@ int target_bulk_write_memory(struct target *target,
        return target->type->bulk_write_memory(target, address, count, buffer);
 }
 
        return target->type->bulk_write_memory(target, address, count, buffer);
 }
 
+static int target_bulk_write_memory_default(struct target *target,
+               uint32_t address, uint32_t count, const uint8_t *buffer)
+{
+       return target_write_memory(target, address, 4, count, buffer);
+}
+
 int target_add_breakpoint(struct target *target,
                struct breakpoint *breakpoint)
 {
 int target_add_breakpoint(struct target *target,
                struct breakpoint *breakpoint)
 {
@@ -1121,6 +1127,9 @@ static int target_init_one(struct command_context *cmd_ctx,
        if (target->type->write_buffer == NULL)
                target->type->write_buffer = target_write_buffer_default;
 
        if (target->type->write_buffer == NULL)
                target->type->write_buffer = target_write_buffer_default;
 
+       if (target->type->bulk_write_memory == NULL)
+               target->type->bulk_write_memory = target_bulk_write_memory_default;
+
        return ERROR_OK;
 }
 
        return ERROR_OK;
 }
 
index bec71652a7e5e255febdaecc50f5b652e04bc2e9..5e9c598234234280d933cd75e224d21ef9cdcee0 100644 (file)
@@ -1970,12 +1970,6 @@ static int xscale_write_phys_memory(struct target *target, uint32_t address,
        return ERROR_FAIL;
 }
 
        return ERROR_FAIL;
 }
 
-static int xscale_bulk_write_memory(struct target *target, uint32_t address,
-       uint32_t count, const uint8_t *buffer)
-{
-       return xscale_write_memory(target, address, 4, count, buffer);
-}
-
 static int xscale_get_ttb(struct target *target, uint32_t *result)
 {
        struct xscale_common *xscale = target_to_xscale(target);
 static int xscale_get_ttb(struct target *target, uint32_t *result)
 {
        struct xscale_common *xscale = target_to_xscale(target);
@@ -3697,7 +3691,6 @@ struct target_type xscale_target = {
        .read_phys_memory = xscale_read_phys_memory,
        .write_memory = xscale_write_memory,
        .write_phys_memory = xscale_write_phys_memory,
        .read_phys_memory = xscale_read_phys_memory,
        .write_memory = xscale_write_memory,
        .write_phys_memory = xscale_write_phys_memory,
-       .bulk_write_memory = xscale_bulk_write_memory,
 
        .checksum_memory = arm_checksum_memory,
        .blank_check_memory = arm_blank_check_memory,
 
        .checksum_memory = arm_checksum_memory,
        .blank_check_memory = arm_blank_check_memory,

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)