#include "mips32.h"
#include "mips_ejtag.h"
-#include "binarybuffer.h"
-#include "log.h"
-#include "jtag.h"
-#include <stdlib.h>
-
-int mips_ejtag_set_instr(mips_ejtag_t *ejtag_info, int new_instr, in_handler_t handler)
+int mips_ejtag_set_instr(mips_ejtag_t *ejtag_info, int new_instr, void *delete_me_and_submit_patch)
{
jtag_tap_t *tap;
if (tap==NULL)
return ERROR_FAIL;
- if (buf_get_u32(tap->cur_instr, 0, tap->ir_length) != new_instr)
+ if (buf_get_u32(tap->cur_instr, 0, tap->ir_length) != (u32)new_instr)
{
scan_field_t field;
u8 t[4];
field.num_bits = tap->ir_length;
field.out_value = t;
buf_set_u32(field.out_value, 0, field.num_bits, new_instr);
- field.out_mask = NULL;
+
field.in_value = NULL;
- field.in_check_value = NULL;
- field.in_check_mask = NULL;
- field.in_handler = handler;
- field.in_handler_priv = NULL;
- jtag_add_ir_scan(1, &field, -1);
+
+
+
+
+ jtag_add_ir_scan(1, &field, TAP_INVALID);
}
return ERROR_OK;
field.tap = ejtag_info->tap;
field.num_bits = 32;
field.out_value = NULL;
- field.out_mask = NULL;
+
field.in_value = (void*)idcode;
- field.in_check_value = NULL;
- field.in_check_mask = NULL;
- field.in_handler = NULL;
- field.in_handler_priv = NULL;
- jtag_add_dr_scan(1, &field, -1);
+
+
+
+
+ jtag_add_dr_scan(1, &field, TAP_INVALID);
if (jtag_execute_queue() != ERROR_OK)
{
field.tap = ejtag_info->tap;
field.num_bits = 32;
field.out_value = NULL;
- field.out_mask = NULL;
+
field.in_value = (void*)impcode;
- field.in_check_value = NULL;
- field.in_check_mask = NULL;
- field.in_handler = NULL;
- field.in_handler_priv = NULL;
- jtag_add_dr_scan(1, &field, -1);
+
+
+
+
+ jtag_add_dr_scan(1, &field, TAP_INVALID);
if (jtag_execute_queue() != ERROR_OK)
{
field.num_bits = 32;
field.out_value = t;
buf_set_u32(field.out_value, 0, field.num_bits, *data);
- field.out_mask = NULL;
+
field.in_value = (u8*)data;
- field.in_check_value = NULL;
- field.in_check_mask = NULL;
- field.in_handler = NULL;
- field.in_handler_priv = NULL;
- jtag_add_dr_scan(1, &field, -1);
+
+
+
+
+ jtag_add_dr_scan(1, &field, TAP_INVALID);
if ((retval = jtag_execute_queue()) != ERROR_OK)
{