- added a PLD (programmable logic device) subsystem for FPGA, CPLD etc. configuration
[fw/openocd] / src / target / embeddedice.c
index e148b88872f0c1d76878f82d56763b636d85e24b..b063bd2c35f15051e97d9c2da999e7788d009ab1 100644 (file)
@@ -17,7 +17,9 @@
  *   Free Software Foundation, Inc.,                                       *
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
+#ifdef HAVE_CONFIG_H
 #include "config.h"
+#endif
 
 #include "embeddedice.h"
 
@@ -76,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);
@@ -122,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;
        }
        
@@ -228,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)
        {