summaryrefslogtreecommitdiff
path: root/src/target/xscale.c
diff options
context:
space:
mode:
authordrath <drath@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2007-04-25 20:15:59 +0000
committerdrath <drath@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2007-04-25 20:15:59 +0000
commit22bc5194ae101282cf5c30d681d7f4720bec2534 (patch)
tree9269026fda66ddf15fdfaeaf8acd8433767ea82e /src/target/xscale.c
parent04dc98916d9acb57e0f5595534151a24ba4dc684 (diff)
downloadopenocd_libswd-22bc5194ae101282cf5c30d681d7f4720bec2534.tar.gz
openocd_libswd-22bc5194ae101282cf5c30d681d7f4720bec2534.tar.bz2
openocd_libswd-22bc5194ae101282cf5c30d681d7f4720bec2534.tar.xz
openocd_libswd-22bc5194ae101282cf5c30d681d7f4720bec2534.zip
- added support for error handlers to JTAG scan commands (jtag_[plain_][ir|dr]_scan)
- catch apparently broken JTAG IR scan after ARM926EJ-S CP15 operations - added "arm7_9 dump_etb" command git-svn-id: svn://svn.berlios.de/openocd/trunk@142 b42882b7-edfa-0310-969c-e2dbd0fdcd60
Diffstat (limited to 'src/target/xscale.c')
-rw-r--r--src/target/xscale.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/src/target/xscale.c b/src/target/xscale.c
index 9bb3ca75..334924f3 100644
--- a/src/target/xscale.c
+++ b/src/target/xscale.c
@@ -210,7 +210,7 @@ int xscale_jtag_set_instr(int chain_pos, u32 new_instr)
field.in_handler = NULL;
field.in_handler_priv = NULL;
- jtag_add_ir_scan(1, &field, -1);
+ jtag_add_ir_scan(1, &field, -1, NULL);
free(field.out_value);
}
@@ -288,7 +288,7 @@ int xscale_read_dcsr(target_t *target)
fields[2].in_handler = NULL;
fields[2].in_handler_priv = NULL;
- jtag_add_dr_scan(3, fields, -1);
+ jtag_add_dr_scan(3, fields, -1, NULL);
if ((retval = jtag_execute_queue()) != ERROR_OK)
{
@@ -308,7 +308,7 @@ int xscale_read_dcsr(target_t *target)
jtag_add_end_state(TAP_RTI);
- jtag_add_dr_scan(3, fields, -1);
+ jtag_add_dr_scan(3, fields, -1, NULL);
return ERROR_OK;
}
@@ -383,7 +383,7 @@ int xscale_receive(target_t *target, u32 *buffer, int num_words)
fields[1].in_handler_priv = (u8*)&field1[i];
jtag_add_pathmove(3, path);
- jtag_add_dr_scan(3, fields, TAP_RTI);
+ jtag_add_dr_scan(3, fields, TAP_RTI, NULL);
words_scheduled++;
}
@@ -487,7 +487,7 @@ int xscale_read_tx(target_t *target, int consume)
else
jtag_add_statemove(TAP_PD);
- jtag_add_dr_scan(3, fields, TAP_RTI);
+ jtag_add_dr_scan(3, fields, TAP_RTI, NULL);
if ((retval = jtag_execute_queue()) != ERROR_OK)
{
@@ -567,7 +567,7 @@ int xscale_write_rx(target_t *target)
do
{
DEBUG("polling RX");
- jtag_add_dr_scan(3, fields, TAP_RTI);
+ jtag_add_dr_scan(3, fields, TAP_RTI, NULL);
if ((retval = jtag_execute_queue()) != ERROR_OK)
{
@@ -585,7 +585,7 @@ int xscale_write_rx(target_t *target)
/* set rx_valid */
field2 = 0x1;
- jtag_add_dr_scan(3, fields, TAP_RTI);
+ jtag_add_dr_scan(3, fields, TAP_RTI, NULL);
if ((retval = jtag_execute_queue()) != ERROR_OK)
{
@@ -671,7 +671,7 @@ int xscale_send(target_t *target, u8 *buffer, int count, int size)
exit(-1);
}
- jtag_add_dr_scan(3, fields, TAP_RTI);
+ jtag_add_dr_scan(3, fields, TAP_RTI, NULL);
buffer += size;
}
@@ -750,7 +750,7 @@ int xscale_write_dcsr(target_t *target, int hold_rst, int ext_dbg_brk)
fields[2].in_handler = NULL;
fields[2].in_handler_priv = NULL;
- jtag_add_dr_scan(3, fields, -1);
+ jtag_add_dr_scan(3, fields, -1, NULL);
if ((retval = jtag_execute_queue()) != ERROR_OK)
{
@@ -822,7 +822,7 @@ int xscale_load_ic(target_t *target, int mini, u32 va, u32 buffer[8])
fields[1].in_handler = NULL;
fields[1].in_handler_priv = NULL;
- jtag_add_dr_scan(2, fields, -1);
+ jtag_add_dr_scan(2, fields, -1, NULL);
fields[0].num_bits = 32;
fields[0].out_value = packet;
@@ -834,7 +834,7 @@ int xscale_load_ic(target_t *target, int mini, u32 va, u32 buffer[8])
{
buf_set_u32(packet, 0, 32, buffer[word]);
cmd = parity(*((u32*)packet));
- jtag_add_dr_scan(2, fields, -1);
+ jtag_add_dr_scan(2, fields, -1, NULL);
}
jtag_execute_queue();
@@ -880,7 +880,7 @@ int xscale_invalidate_ic_line(target_t *target, u32 va)
fields[1].in_handler = NULL;
fields[1].in_handler_priv = NULL;
- jtag_add_dr_scan(2, fields, -1);
+ jtag_add_dr_scan(2, fields, -1, NULL);
return ERROR_OK;
}