]> git.sur5r.net Git - openocd/commitdiff
armv7m: Do not ignore 'value' parameter in armv7m_write_core_reg
authorAndrey Smirnov <andrew.smirnov@gmail.com>
Wed, 19 Mar 2014 15:20:36 +0000 (08:20 -0700)
committerPaul Fertser <fercerpav@gmail.com>
Sat, 29 Mar 2014 07:18:09 +0000 (07:18 +0000)
Ignoring the value parameter in that function makes its code rather
misleading. Also the only caller of it, armv7m_restore_context already
does the whole "buf_get_u32" conversion business, so using
'value' also removes the waste of doing the conversion twice.

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Change-Id: I515979c314d9b59ee1065c55b5bb5747c7e93f01
Reviewed-on: http://openocd.zylin.com/2057
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
src/target/armv7m.c

index 771613981e90193208785c7f76c860da264ed645..130504c90b0f51987690fe02273f59bddbc7102b 100644 (file)
@@ -216,24 +216,22 @@ static int armv7m_write_core_reg(struct target *target, struct reg *r,
        int num, enum arm_mode mode, uint32_t value)
 {
        int retval;
-       uint32_t reg_value;
        struct arm_reg *armv7m_core_reg;
        struct armv7m_common *armv7m = target_to_armv7m(target);
 
        assert(num < (int)armv7m->arm.core_cache->num_regs);
 
-       reg_value = buf_get_u32(armv7m->arm.core_cache->reg_list[num].value, 0, 32);
        armv7m_core_reg = armv7m->arm.core_cache->reg_list[num].arch_info;
        retval = armv7m->store_core_reg_u32(target,
-                       armv7m_core_reg->num,
-                       reg_value);
+                                           armv7m_core_reg->num,
+                                           value);
        if (retval != ERROR_OK) {
                LOG_ERROR("JTAG failure");
                armv7m->arm.core_cache->reg_list[num].dirty = armv7m->arm.core_cache->reg_list[num].valid;
                return ERROR_JTAG_DEVICE_ERROR;
        }
 
-       LOG_DEBUG("write core reg %i value 0x%" PRIx32 "", num, reg_value);
+       LOG_DEBUG("write core reg %i value 0x%" PRIx32 "", num, value);
        armv7m->arm.core_cache->reg_list[num].valid = 1;
        armv7m->arm.core_cache->reg_list[num].dirty = 0;