- fixed regression in gdb_server.c (Thanks to Michael Fischer for finding these bugs)
[fw/openocd] / src / target / embeddedice.c
index 891f9e5204f3415f1457e2a3800d7f8f71615805..b063bd2c35f15051e97d9c2da999e7788d009ab1 100644 (file)
@@ -78,6 +78,7 @@ int embeddedice_reg_arch_type = -1;
 
 int embeddedice_get_reg(reg_t *reg);
 int embeddedice_set_reg(reg_t *reg, u32 value);
+int embeddedice_set_reg_w_exec(reg_t *reg, u8 *buf);
 
 int embeddedice_write_reg(reg_t *reg, u32 value);
 int embeddedice_read_reg(reg_t *reg);
@@ -124,6 +125,7 @@ reg_cache_t* embeddedice_build_reg_cache(target_t *target, arm_jtag_t *jtag_info
        if (extra_reg)
        {
                reg_list[num_regs - 1].arch_info = &arch_info[num_regs - 1];
+               reg_list[num_regs - 1].arch_type = embeddedice_reg_arch_type;
                arch_info[num_regs - 1].jtag_info = jtag_info;
        }
        
@@ -230,9 +232,9 @@ int embeddedice_set_reg(reg_t *reg, u32 value)
        return ERROR_OK;
 }
 
-int embeddedice_set_reg_w_exec(reg_t *reg, u32 value)
+int embeddedice_set_reg_w_exec(reg_t *reg, u8 *buf)
 {
-       embeddedice_set_reg(reg, value);
+       embeddedice_set_reg(reg, buf_get_u32(buf, 0, reg->size));
        
        if (jtag_execute_queue() != ERROR_OK)
        {