#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, void *delete_me_and_submit_patch)
{
field.in_value = NULL;
- field.in_handler = NULL;
+
jtag_add_ir_scan(1, &field, TAP_INVALID);
}
return ERROR_OK;
}
-int mips_ejtag_get_idcode(mips_ejtag_t *ejtag_info, u32 *idcode, in_handler_t handler)
+int mips_ejtag_get_idcode(mips_ejtag_t *ejtag_info, u32 *idcode)
{
scan_field_t field;
field.in_value = (void*)idcode;
- field.in_handler = NULL;
+
jtag_add_dr_scan(1, &field, TAP_INVALID);
return ERROR_OK;
}
-int mips_ejtag_get_impcode(mips_ejtag_t *ejtag_info, u32 *impcode, in_handler_t handler)
+int mips_ejtag_get_impcode(mips_ejtag_t *ejtag_info, u32 *impcode)
{
scan_field_t field;
field.in_value = (void*)impcode;
- field.in_handler = NULL;
+
jtag_add_dr_scan(1, &field, TAP_INVALID);
field.in_value = (u8*)data;
- field.in_handler = NULL;
+
jtag_add_dr_scan(1, &field, TAP_INVALID);
return ERROR_OK;
}
-int mips_ejtag_exit_debug(mips_ejtag_t *ejtag_info, int enable_interrupts)
+int mips_ejtag_exit_debug(mips_ejtag_t *ejtag_info)
{
u32 inst;
inst = MIPS32_DRET;
-
- /* TODO : enable/disable interrrupts */
-
+
/* execute our dret instruction */
mips32_pracc_exec(ejtag_info, 1, &inst, 0, NULL, 0, NULL, 0);
{
u32 ejtag_version;
- mips_ejtag_get_impcode(ejtag_info, &ejtag_info->impcode, NULL);
+ mips_ejtag_get_impcode(ejtag_info, &ejtag_info->impcode);
LOG_DEBUG("impcode: 0x%8.8x", ejtag_info->impcode);
/* get ejtag version */