stlink: enable cortex special reg writes
authorSpencer Oliver <spen@spen-soft.co.uk>
Fri, 13 Jan 2012 11:23:27 +0000 (11:23 +0000)
committerSpencer Oliver <spen@spen-soft.co.uk>
Mon, 23 Jan 2012 11:39:07 +0000 (11:39 +0000)
Change-Id: I5aa02e8de6dd5ac5a6ca628ba4068decb200c689
Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk>
Reviewed-on: http://openocd.zylin.com/378
Tested-by: jenkins
src/target/stm32_stlink.c

index dec2b24bf1ac9a670aad91642cbb4759311cc297..d00852c201301ebd6ffa1165ec9e290a98c8f642 100644 (file)
@@ -133,9 +133,7 @@ static int stm32_stlink_store_core_reg_u32(struct target *target,
         */
        switch (num) {
        case 0 ... 18:
-               retval =
-                   stlink_if->layout->api->write_reg(stlink_if->fd, num,
-                                                     value);
+               retval = stlink_if->layout->api->write_reg(stlink_if->fd, num, value);
 
                if (retval != ERROR_OK) {
                        struct reg *r;
@@ -145,8 +143,7 @@ static int stm32_stlink_store_core_reg_u32(struct target *target,
                        r->dirty = r->valid;
                        return ERROR_JTAG_DEVICE_ERROR;
                }
-               LOG_DEBUG("write core reg %i value 0x%" PRIx32 "", (int)num,
-                         value);
+               LOG_DEBUG("write core reg %i value 0x%" PRIx32 "", (int)num, value);
                break;
 
        case ARMV7M_PRIMASK:
@@ -157,7 +154,8 @@ static int stm32_stlink_store_core_reg_u32(struct target *target,
                 * in one Debug Core register.  So say r0 and r2 docs;
                 * it was removed from r1 docs, but still works.
                 */
-               /* cortexm3_dap_read_coreregister_u32(swjdp, &reg, 20); */
+
+               stlink_if->layout->api->read_reg(stlink_if->fd, 20, &reg);
 
                switch (num) {
                case ARMV7M_PRIMASK:
@@ -177,10 +175,9 @@ static int stm32_stlink_store_core_reg_u32(struct target *target,
                        break;
                }
 
-               /* cortexm3_dap_write_coreregister_u32(swjdp, reg, 20); */
+               stlink_if->layout->api->write_reg(stlink_if->fd, 20, reg);
 
-               LOG_DEBUG("write special reg %i value 0x%" PRIx32 " ", (int)num,
-                         value);
+               LOG_DEBUG("write special reg %i value 0x%" PRIx32 " ", (int)num, value);
                break;
 
        default: