summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/flash/str9xpec.c90
-rw-r--r--src/jtag/jtag.c12
-rw-r--r--src/jtag/jtag.h4
-rw-r--r--src/pld/virtex2.c21
-rw-r--r--src/svf/svf.c12
-rw-r--r--src/target/arm720t.c12
-rw-r--r--src/target/arm7tdmi.c32
-rw-r--r--src/target/arm920t.c72
-rw-r--r--src/target/arm926ejs.c48
-rw-r--r--src/target/arm966e.c36
-rw-r--r--src/target/arm9tdmi.c68
-rw-r--r--src/target/arm_adi_v5.c24
-rw-r--r--src/target/arm_jtag.c6
-rw-r--r--src/target/embeddedice.c72
-rw-r--r--src/target/etb.c66
-rw-r--r--src/target/etm.c36
-rw-r--r--src/target/feroceon.c18
-rw-r--r--src/target/mips_ejtag.c24
-rw-r--r--src/target/xscale.c54
-rw-r--r--src/xsvf/xsvf.c6
20 files changed, 354 insertions, 359 deletions
diff --git a/src/flash/str9xpec.c b/src/flash/str9xpec.c
index c0c6dfff..c5e50bd8 100644
--- a/src/flash/str9xpec.c
+++ b/src/flash/str9xpec.c
@@ -127,10 +127,10 @@ int str9xpec_set_instr(jtag_tap_t *tap, u32 new_instr, tap_state_t end_state)
buf_set_u32(field.out_value, 0, field.num_bits, new_instr);
field.in_value = NULL;
- field.in_check_value = NULL;
- field.in_check_mask = NULL;
+
+
field.in_handler = NULL;
- field.in_handler_priv = NULL;
+
jtag_add_ir_scan(1, &field, end_state);
@@ -153,10 +153,10 @@ static u8 str9xpec_isc_status(jtag_tap_t *tap)
field.out_value = NULL;
field.in_value = &status;
- 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, TAP_IDLE);
jtag_execute_queue();
@@ -245,10 +245,10 @@ static int str9xpec_read_config(struct flash_bank_s *bank)
field.out_value = NULL;
field.in_value = str9xpec_info->options;
- 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, TAP_IDLE);
jtag_execute_queue();
@@ -397,10 +397,10 @@ static int str9xpec_blank_check(struct flash_bank_s *bank, int first, int last)
field.out_value = buffer;
field.in_value = NULL;
- 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, TAP_IDLE);
jtag_add_sleep(40000);
@@ -411,10 +411,10 @@ static int str9xpec_blank_check(struct flash_bank_s *bank, int first, int last)
field.out_value = NULL;
field.in_value = buffer;
- 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, TAP_IRPAUSE);
jtag_execute_queue();
@@ -513,10 +513,10 @@ static int str9xpec_erase_area(struct flash_bank_s *bank, int first, int last)
field.out_value = buffer;
field.in_value = NULL;
- 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, TAP_IDLE);
jtag_execute_queue();
@@ -579,10 +579,10 @@ static int str9xpec_lock_device(struct flash_bank_s *bank)
field.out_value = NULL;
field.in_value = &status;
- 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_execute_queue();
@@ -665,10 +665,10 @@ static int str9xpec_set_address(struct flash_bank_s *bank, u8 sector)
field.out_value = &sector;
field.in_value = NULL;
- 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);
@@ -754,10 +754,10 @@ static int str9xpec_write(struct flash_bank_s *bank, u8 *buffer, u32 offset, u32
field.out_value = (buffer + bytes_written);
field.in_value = NULL;
- 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, TAP_IDLE);
@@ -772,10 +772,10 @@ static int str9xpec_write(struct flash_bank_s *bank, u8 *buffer, u32 offset, u32
field.out_value = NULL;
field.in_value = scanbuf;
- 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_execute_queue();
@@ -814,10 +814,10 @@ static int str9xpec_write(struct flash_bank_s *bank, u8 *buffer, u32 offset, u32
field.out_value = last_dword;
field.in_value = NULL;
- 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, TAP_IDLE);
@@ -832,10 +832,10 @@ static int str9xpec_write(struct flash_bank_s *bank, u8 *buffer, u32 offset, u32
field.out_value = NULL;
field.in_value = scanbuf;
- 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_execute_queue();
@@ -896,10 +896,10 @@ static int str9xpec_handle_part_id_command(struct command_context_s *cmd_ctx, ch
field.out_value = NULL;
field.in_value = buffer;
- 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, TAP_IDLE);
jtag_execute_queue();
@@ -1021,10 +1021,10 @@ static int str9xpec_write_options(struct flash_bank_s *bank)
field.out_value = str9xpec_info->options;
field.in_value = NULL;
- 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, TAP_IDLE);
@@ -1039,10 +1039,10 @@ static int str9xpec_write_options(struct flash_bank_s *bank)
field.out_value = NULL;
field.in_value = &status;
- 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_execute_queue();
diff --git a/src/jtag/jtag.c b/src/jtag/jtag.c
index c665ba20..52882100 100644
--- a/src/jtag/jtag.c
+++ b/src/jtag/jtag.c
@@ -1486,10 +1486,10 @@ int jtag_examine_chain(void)
field.out_value = idcode_buffer;
field.in_value = idcode_buffer;
- field.in_check_value = NULL;
- field.in_check_mask = NULL;
+
+
field.in_handler = NULL;
- field.in_handler_priv = NULL;
+
for (i = 0; i < JTAG_MAX_CHAIN_SIZE; i++)
{
@@ -1664,10 +1664,10 @@ int jtag_validate_chain(void)
field.out_value = ir_test;
field.in_value = ir_test;
- field.in_check_value = NULL;
- field.in_check_mask = NULL;
+
+
field.in_handler = NULL;
- field.in_handler_priv = NULL;
+
jtag_add_plain_ir_scan(1, &field, TAP_RESET);
jtag_execute_queue();
diff --git a/src/jtag/jtag.h b/src/jtag/jtag.h
index 9bc3fe82..604692cd 100644
--- a/src/jtag/jtag.h
+++ b/src/jtag/jtag.h
@@ -275,8 +275,8 @@ typedef struct scan_field_s
/* in_check_value/mask, in_handler_error_handler, in_handler_priv can be used by the in handler, otherwise they contain garbage */
u8* in_check_value; /* deprecated! only used from jtag_set_check_value. used to validate scan results */
u8* in_check_mask; /* deprecated! only used from jtag_set_check_value. check specified bits against check_value */
- in_handler_t in_handler; /* deprecated! DO NOT USE! process received buffer using this handler */
- void* in_handler_priv; /* additional information for the in_handler */
+ in_handler_t in_handler; /* deprecated! SET TO NULL. DO NOT USE! process received buffer using this handler */
+ void* in_handler_priv; /* deprecated! only used by obsolete in_handler implementations */
} scan_field_t;
enum scan_type {
diff --git a/src/pld/virtex2.c b/src/pld/virtex2.c
index cec4fe9d..f9043217 100644
--- a/src/pld/virtex2.c
+++ b/src/pld/virtex2.c
@@ -56,12 +56,12 @@ int virtex2_set_instr(jtag_tap_t *tap, u32 new_instr)
field.num_bits = tap->ir_length;
field.out_value = calloc(CEIL(field.num_bits, 8), 1);
buf_set_u32(field.out_value, 0, field.num_bits, new_instr);
-
+
field.in_value = NULL;
- field.in_check_value = NULL;
- field.in_check_mask = NULL;
+
+
field.in_handler = NULL;
- field.in_handler_priv = NULL;
+
jtag_add_ir_scan(1, &field, TAP_IDLE);
@@ -84,10 +84,7 @@ int virtex2_send_32(struct pld_device_s *pld_device, int num_words, u32 *words)
scan_field.num_bits = num_words * 32;
scan_field.out_value = values;
scan_field.in_value = NULL;
- scan_field.in_check_value = NULL;
- scan_field.in_check_mask = NULL;
scan_field.in_handler = NULL;
- scan_field.in_handler_priv = NULL;
for (i = 0; i < num_words; i++)
buf_set_u32(values + 4 * i, 0, 32, flip_u32(*words++, 32));
@@ -117,8 +114,6 @@ int virtex2_receive_32(struct pld_device_s *pld_device, int num_words, u32 *word
scan_field.num_bits = 32;
scan_field.out_value = NULL;
scan_field.in_value = NULL;
- scan_field.in_check_value = NULL;
- scan_field.in_check_mask = NULL;
scan_field.in_handler = virtex2_jtag_buf_to_u32; /* deprecated! invoke this from user code! */
virtex2_set_instr(virtex2_info->tap, 0x4); /* CFG_OUT */
@@ -164,12 +159,12 @@ int virtex2_load(struct pld_device_s *pld_device, char *filename)
scan_field_t field;
field.tap = virtex2_info->tap;
-
+
field.in_value = NULL;
- field.in_check_value = NULL;
- field.in_check_mask = NULL;
+
+
field.in_handler = NULL;
- field.in_handler_priv = NULL;
+
if ((retval = xilinx_read_bit_file(&bit_file, filename)) != ERROR_OK)
return retval;
diff --git a/src/svf/svf.c b/src/svf/svf.c
index 6c92c1e1..00e88361 100644
--- a/src/svf/svf.c
+++ b/src/svf/svf.c
@@ -977,10 +977,10 @@ static int svf_run_command(struct command_context_s *cmd_ctx, char *cmd_str)
field.out_value = &svf_tdi_buffer[svf_buffer_index];
field.in_value = &svf_tdi_buffer[svf_buffer_index];
- field.in_check_value = NULL;
- field.in_check_mask = NULL;
+
+
field.in_handler = NULL;
- field.in_handler_priv = NULL;
+
jtag_add_plain_dr_scan(1, &field, svf_para.dr_end_state);
svf_buffer_index += (i + 7) >> 3;
@@ -1078,10 +1078,10 @@ static int svf_run_command(struct command_context_s *cmd_ctx, char *cmd_str)
field.out_value = &svf_tdi_buffer[svf_buffer_index];
field.in_value = &svf_tdi_buffer[svf_buffer_index];
- field.in_check_value = NULL;
- field.in_check_mask = NULL;
+
+
field.in_handler = NULL;
- field.in_handler_priv = NULL;
+
jtag_add_plain_ir_scan(1, &field, svf_para.ir_end_state);
svf_buffer_index += (i + 7) >> 3;
diff --git a/src/target/arm720t.c b/src/target/arm720t.c
index 60c4dec7..3cbb653f 100644
--- a/src/target/arm720t.c
+++ b/src/target/arm720t.c
@@ -114,10 +114,10 @@ int arm720t_scan_cp15(target_t *target, u32 out, u32 *in, int instruction, int c
fields[0].out_value = &instruction_buf;
fields[0].in_value = NULL;
- fields[0].in_check_value = NULL;
- fields[0].in_check_mask = NULL;
+
+
fields[0].in_handler = NULL;
- fields[0].in_handler_priv = NULL;
+
fields[1].tap = jtag_info->tap;
fields[1].num_bits = 32;
@@ -131,10 +131,10 @@ int arm720t_scan_cp15(target_t *target, u32 out, u32 *in, int instruction, int c
} else
{
fields[1].in_handler = NULL;
- fields[1].in_handler_priv = NULL;
+
}
- fields[1].in_check_value = NULL;
- fields[1].in_check_mask = NULL;
+
+
jtag_add_dr_scan(2, fields, TAP_INVALID);
diff --git a/src/target/arm7tdmi.c b/src/target/arm7tdmi.c
index b0d9e85e..c9deb0ee 100644
--- a/src/target/arm7tdmi.c
+++ b/src/target/arm7tdmi.c
@@ -113,20 +113,20 @@ int arm7tdmi_examine_debug_reason(target_t *target)
fields[0].out_value = NULL;
fields[0].in_value = &breakpoint;
- fields[0].in_check_value = NULL;
- fields[0].in_check_mask = NULL;
+
+
fields[0].in_handler = NULL;
- fields[0].in_handler_priv = NULL;
+
fields[1].tap = arm7_9->jtag_info.tap;
fields[1].num_bits = 32;
fields[1].out_value = NULL;
fields[1].in_value = databus;
- fields[1].in_check_value = NULL;
- fields[1].in_check_mask = NULL;
+
+
fields[1].in_handler = NULL;
- fields[1].in_handler_priv = NULL;
+
if((retval = arm_jtag_scann(&arm7_9->jtag_info, 0x1)) != ERROR_OK)
{
@@ -200,10 +200,10 @@ int arm7tdmi_clock_data_in(arm_jtag_t *jtag_info, u32 *in)
fields[0].out_value = NULL;
fields[0].in_value = NULL;
- fields[0].in_check_value = NULL;
- fields[0].in_check_mask = NULL;
+
+
fields[0].in_handler = NULL;
- fields[0].in_handler_priv = NULL;
+
fields[1].tap = jtag_info->tap;
fields[1].num_bits = 32;
@@ -212,8 +212,8 @@ int arm7tdmi_clock_data_in(arm_jtag_t *jtag_info, u32 *in)
fields[1].in_value = NULL;
fields[1].in_handler = arm_jtag_buf_to_u32_flip; /* deprecated! invoke this from user code! */
fields[1].in_handler_priv = in;
- fields[1].in_check_value = NULL;
- fields[1].in_check_mask = NULL;
+
+
jtag_add_dr_scan(2, fields, TAP_INVALID);
@@ -261,10 +261,10 @@ int arm7tdmi_clock_data_in_endianness(arm_jtag_t *jtag_info, void *in, int size,
fields[0].out_value = NULL;
fields[0].in_value = NULL;
- fields[0].in_check_value = NULL;
- fields[0].in_check_mask = NULL;
+
+
fields[0].in_handler = NULL;
- fields[0].in_handler_priv = NULL;
+
fields[1].tap = jtag_info->tap;
fields[1].num_bits = 32;
@@ -284,8 +284,8 @@ int arm7tdmi_clock_data_in_endianness(arm_jtag_t *jtag_info, void *in, int size,
break;
}
fields[1].in_handler_priv = in;
- fields[1].in_check_value = NULL;
- fields[1].in_check_mask = NULL;
+
+
jtag_add_dr_scan(2, fields, TAP_INVALID);
diff --git a/src/target/arm920t.c b/src/target/arm920t.c
index f07cee8d..455ee8c5 100644
--- a/src/target/arm920t.c
+++ b/src/target/arm920t.c
@@ -115,40 +115,40 @@ int arm920t_read_cp15_physical(target_t *target, int reg_addr, u32 *value)
fields[0].out_value = &access_type_buf;
fields[0].in_value = NULL;
- fields[0].in_check_value = NULL;
- fields[0].in_check_mask = NULL;
+
+
fields[0].in_handler = NULL;
- fields[0].in_handler_priv = NULL;
+
fields[1].tap = jtag_info->tap;
fields[1].num_bits = 32;
fields[1].out_value = NULL;
fields[1].in_value = NULL;
- fields[1].in_check_value = NULL;
- fields[1].in_check_mask = NULL;
+
+
fields[1].in_handler = NULL;
- fields[1].in_handler_priv = NULL;
+
fields[2].tap = jtag_info->tap;
fields[2].num_bits = 6;
fields[2].out_value = &reg_addr_buf;
fields[2].in_value = NULL;
- fields[2].in_check_value = NULL;
- fields[2].in_check_mask = NULL;
+
+
fields[2].in_handler = NULL;
- fields[2].in_handler_priv = NULL;
+
fields[3].tap = jtag_info->tap;
fields[3].num_bits = 1;
fields[3].out_value = &nr_w_buf;
fields[3].in_value = NULL;
- fields[3].in_check_value = NULL;
- fields[3].in_check_mask = NULL;
+
+
fields[3].in_handler = NULL;
- fields[3].in_handler_priv = NULL;
+
jtag_add_dr_scan(4, fields, TAP_INVALID);
@@ -187,40 +187,40 @@ int arm920t_write_cp15_physical(target_t *target, int reg_addr, u32 value)
fields[0].out_value = &access_type_buf;
fields[0].in_value = NULL;
- fields[0].in_check_value = NULL;
- fields[0].in_check_mask = NULL;
+
+
fields[0].in_handler = NULL;
- fields[0].in_handler_priv = NULL;
+
fields[1].tap = jtag_info->tap;
fields[1].num_bits = 32;
fields[1].out_value = value_buf;
fields[1].in_value = NULL;
- fields[1].in_check_value = NULL;
- fields[1].in_check_mask = NULL;
+
+
fields[1].in_handler = NULL;
- fields[1].in_handler_priv = NULL;
+
fields[2].tap = jtag_info->tap;
fields[2].num_bits = 6;
fields[2].out_value = &reg_addr_buf;
fields[2].in_value = NULL;
- fields[2].in_check_value = NULL;
- fields[2].in_check_mask = NULL;
+
+
fields[2].in_handler = NULL;
- fields[2].in_handler_priv = NULL;
+
fields[3].tap = jtag_info->tap;
fields[3].num_bits = 1;
fields[3].out_value = &nr_w_buf;
fields[3].in_value = NULL;
- fields[3].in_check_value = NULL;
- fields[3].in_check_mask = NULL;
+
+
fields[3].in_handler = NULL;
- fields[3].in_handler_priv = NULL;
+
jtag_add_dr_scan(4, fields, TAP_INVALID);
@@ -254,40 +254,40 @@ int arm920t_execute_cp15(target_t *target, u32 cp15_opcode, u32 arm_opcode)
fields[0].out_value = &access_type_buf;
fields[0].in_value = NULL;
- fields[0].in_check_value = NULL;
- fields[0].in_check_mask = NULL;
+
+
fields[0].in_handler = NULL;
- fields[0].in_handler_priv = NULL;
+
fields[1].tap = jtag_info->tap;
fields[1].num_bits = 32;
fields[1].out_value = cp15_opcode_buf;
fields[1].in_value = NULL;
- fields[1].in_check_value = NULL;
- fields[1].in_check_mask = NULL;
+
+
fields[1].in_handler = NULL;
- fields[1].in_handler_priv = NULL;
+
fields[2].tap = jtag_info->tap;
fields[2].num_bits = 6;
fields[2].out_value = &reg_addr_buf;
fields[2].in_value = NULL;
- fields[2].in_check_value = NULL;
- fields[2].in_check_mask = NULL;
+
+
fields[2].in_handler = NULL;
- fields[2].in_handler_priv = NULL;
+
fields[3].tap = jtag_info->tap;
fields[3].num_bits = 1;
fields[3].out_value = &nr_w_buf;
fields[3].in_value = NULL;
- fields[3].in_check_value = NULL;
- fields[3].in_check_mask = NULL;
+
+
fields[3].in_handler = NULL;
- fields[3].in_handler_priv = NULL;
+
jtag_add_dr_scan(4, fields, TAP_INVALID);
diff --git a/src/target/arm926ejs.c b/src/target/arm926ejs.c
index fb0584b2..f26d2b9b 100644
--- a/src/target/arm926ejs.c
+++ b/src/target/arm926ejs.c
@@ -139,40 +139,40 @@ int arm926ejs_cp15_read(target_t *target, u32 op1, u32 op2, u32 CRn, u32 CRm, u3
fields[0].out_value = NULL;
fields[0].in_value = NULL;
- fields[0].in_check_value = NULL;
- fields[0].in_check_mask = NULL;
+
+
fields[0].in_handler = NULL;
- fields[0].in_handler_priv = NULL;
+
fields[1].tap = jtag_info->tap;
fields[1].num_bits = 1;
fields[1].out_value = &access;
fields[1].in_value = &access;
- fields[1].in_check_value = NULL;
- fields[1].in_check_mask = NULL;
+
+
fields[1].in_handler = NULL;
- fields[1].in_handler_priv = NULL;
+
fields[2].tap = jtag_info->tap;
fields[2].num_bits = 14;
fields[2].out_value = address_buf;
fields[2].in_value = NULL;
- fields[2].in_check_value = NULL;
- fields[2].in_check_mask = NULL;
+
+
fields[2].in_handler = NULL;
- fields[2].in_handler_priv = NULL;
+
fields[3].tap = jtag_info->tap;
fields[3].num_bits = 1;
fields[3].out_value = &nr_w_buf;
fields[3].in_value = NULL;
- fields[3].in_check_value = NULL;
- fields[3].in_check_mask = NULL;
+
+
fields[3].in_handler = NULL;
- fields[3].in_handler_priv = NULL;
+
jtag_add_dr_scan(4, fields, TAP_INVALID);
@@ -229,40 +229,40 @@ int arm926ejs_cp15_write(target_t *target, u32 op1, u32 op2, u32 CRn, u32 CRm, u
fields[0].out_value = value_buf;
fields[0].in_value = NULL;
- fields[0].in_check_value = NULL;
- fields[0].in_check_mask = NULL;
+
+
fields[0].in_handler = NULL;
- fields[0].in_handler_priv = NULL;
+
fields[1].tap = jtag_info->tap;
fields[1].num_bits = 1;
fields[1].out_value = &access;
fields[1].in_value = &access;
- fields[1].in_check_value = NULL;
- fields[1].in_check_mask = NULL;
+
+
fields[1].in_handler = NULL;
- fields[1].in_handler_priv = NULL;
+
fields[2].tap = jtag_info->tap;
fields[2].num_bits = 14;
fields[2].out_value = address_buf;
fields[2].in_value = NULL;
- fields[2].in_check_value = NULL;
- fields[2].in_check_mask = NULL;
+
+
fields[2].in_handler = NULL;
- fields[2].in_handler_priv = NULL;
+
fields[3].tap = jtag_info->tap;
fields[3].num_bits = 1;
fields[3].out_value = &nr_w_buf;
fields[3].in_value = NULL;
- fields[3].in_check_value = NULL;
- fields[3].in_check_mask = NULL;
+
+
fields[3].in_handler = NULL;
- fields[3].in_handler_priv = NULL;
+
jtag_add_dr_scan(4, fields, TAP_INVALID);
/*TODO: add timeout*/
diff --git a/src/target/arm966e.c b/src/target/arm966e.c
index 31211031..926aef68 100644
--- a/src/target/arm966e.c
+++ b/src/target/arm966e.c
@@ -189,30 +189,30 @@ int arm966e_read_cp15(target_t *target, int reg_addr, u32 *value)
fields[0].out_value = NULL;
fields[0].in_value = NULL;
- fields[0].in_check_value = NULL;
- fields[0].in_check_mask = NULL;
+
+
fields[0].in_handler = NULL;
- fields[0].in_handler_priv = NULL;
+
fields[1].tap = jtag_info->tap;
fields[1].num_bits = 6;
fields[1].out_value = &reg_addr_buf;
fields[1].in_value = NULL;
- fields[1].in_check_value = NULL;
- fields[1].in_check_mask = NULL;
+
+
fields[1].in_handler = NULL;
- fields[1].in_handler_priv = NULL;
+
fields[2].tap = jtag_info->tap;
fields[2].num_bits = 1;
fields[2].out_value = &nr_w_buf;
fields[2].in_value = NULL;
- fields[2].in_check_value = NULL;
- fields[2].in_check_mask = NULL;
+
+
fields[2].in_handler = NULL;
- fields[2].in_handler_priv = NULL;
+
jtag_add_dr_scan(3, fields, TAP_INVALID);
@@ -257,30 +257,30 @@ int arm966e_write_cp15(target_t *target, int reg_addr, u32 value)
fields[0].out_value = value_buf;
fields[0].in_value = NULL;
- fields[0].in_check_value = NULL;
- fields[0].in_check_mask = NULL;
+
+
fields[0].in_handler = NULL;
- fields[0].in_handler_priv = NULL;
+
fields[1].tap = jtag_info->tap;
fields[1].num_bits = 6;
fields[1].out_value = &reg_addr_buf;
fields[1].in_value = NULL;
- fields[1].in_check_value = NULL;
- fields[1].in_check_mask = NULL;
+
+
fields[1].in_handler = NULL;
- fields[1].in_handler_priv = NULL;
+
fields[2].tap = jtag_info->tap;
fields[2].num_bits = 1;
fields[2].out_value = &nr_w_buf;
fields[2].in_value = NULL;
- fields[2].in_check_value = NULL;
- fields[2].in_check_mask = NULL;
+
+
fields[2].in_handler = NULL;
- fields[2].in_handler_priv = NULL;
+
jtag_add_dr_scan(3, fields, TAP_INVALID);
diff --git a/src/target/arm9tdmi.c b/src/target/arm9tdmi.c
index 7e30bc08..e8e1991c 100644
--- a/src/target/arm9tdmi.c
+++ b/src/target/arm9tdmi.c
@@ -130,30 +130,30 @@ int arm9tdmi_examine_debug_reason(target_t *target)
fields[0].out_value = NULL;
fields[0].in_value = databus;
- fields[0].in_check_value = NULL;
- fields[0].in_check_mask = NULL;
+
+
fields[0].in_handler = NULL;
- fields[0].in_handler_priv = NULL;
+
fields[1].tap = arm7_9->jtag_info.tap;
fields[1].num_bits = 3;
fields[1].out_value = NULL;
fields[1].in_value = &debug_reason;
- fields[1].in_check_value = NULL;
- fields[1].in_check_mask = NULL;
+
+
fields[1].in_handler = NULL;
- fields[1].in_handler_priv = NULL;
+
fields[2].tap = arm7_9->jtag_info.tap;
fields[2].num_bits = 32;
fields[2].out_value = NULL;
fields[2].in_value = instructionbus;
- fields[2].in_check_value = NULL;
- fields[2].in_check_mask = NULL;
+
+
fields[2].in_handler = NULL;
- fields[2].in_handler_priv = NULL;
+
if((retval = arm_jtag_scann(&arm7_9->jtag_info, 0x1)) != ERROR_OK)
{
@@ -226,30 +226,30 @@ int arm9tdmi_clock_out(arm_jtag_t *jtag_info, u32 instr, u32 out, u32 *in, int s
else
{
fields[0].in_handler = NULL;
- fields[0].in_handler_priv = NULL;
+
}
- fields[0].in_check_value = NULL;
- fields[0].in_check_mask = NULL;
+
+
fields[1].tap = jtag_info->tap;
fields[1].num_bits = 3;
fields[1].out_value = &sysspeed_buf;
fields[1].in_value = NULL;
- fields[1].in_check_value = NULL;
- fields[1].in_check_mask = NULL;
+
+
fields[1].in_handler = NULL;
- fields[1].in_handler_priv = NULL;
+
fields[2].tap = jtag_info->tap;
fields[2].num_bits = 32;
fields[2].out_value = instr_buf;
fields[2].in_value = NULL;
- fields[2].in_check_value = NULL;
- fields[2].in_check_mask = NULL;
+
+
fields[2].in_handler = NULL;
- fields[2].in_handler_priv = NULL;
+
jtag_add_dr_scan(3, fields, TAP_INVALID);
@@ -295,8 +295,8 @@ int arm9tdmi_clock_data_in(arm_jtag_t *jtag_info, u32 *in)
fields[0].in_value = NULL;
fields[0].in_handler = arm_jtag_buf_to_u32; /* deprecated! invoke this from user code! */
fields[0].in_handler_priv = in;
- fields[0].in_check_value = NULL;
- fields[0].in_check_mask = NULL;
+
+
fields[1].tap = jtag_info->tap;
fields[1].num_bits = 3;
@@ -304,19 +304,19 @@ int arm9tdmi_clock_data_in(arm_jtag_t *jtag_info, u32 *in)
fields[1].in_value = NULL;
fields[1].in_handler = NULL;
- fields[1].in_handler_priv = NULL;
- fields[1].in_check_value = NULL;
- fields[1].in_check_mask = NULL;
+
+
+
fields[2].tap = jtag_info->tap;
fields[2].num_bits = 32;
fields[2].out_value = NULL;
fields[2].in_value = NULL;
- fields[2].in_check_value = NULL;
- fields[2].in_check_mask = NULL;
+
+
fields[2].in_handler = NULL;
- fields[2].in_handler_priv = NULL;
+
jtag_add_dr_scan(3, fields, TAP_INVALID);
@@ -378,8 +378,8 @@ int arm9tdmi_clock_data_in_endianness(arm_jtag_t *jtag_info, void *in, int size,
break;
}
fields[0].in_handler_priv = in;
- fields[0].in_check_value = NULL;
- fields[0].in_check_mask = NULL;
+
+
fields[1].tap = jtag_info->tap;
fields[1].num_bits = 3;
@@ -387,19 +387,19 @@ int arm9tdmi_clock_data_in_endianness(arm_jtag_t *jtag_info, void *in, int size,
fields[1].in_value = NULL;
fields[1].in_handler = NULL;
- fields[1].in_handler_priv = NULL;
- fields[1].in_check_value = NULL;
- fields[1].in_check_mask = NULL;
+
+
+
fields[2].tap = jtag_info->tap;
fields[2].num_bits = 32;
fields[2].out_value = NULL;
fields[2].in_value = NULL;
- fields[2].in_check_value = NULL;
- fields[2].in_check_mask = NULL;
+
+
fields[2].in_handler = NULL;
- fields[2].in_handler_priv = NULL;
+
jtag_add_dr_scan(3, fields, TAP_INVALID);
diff --git a/src/target/arm_adi_v5.c b/src/target/arm_adi_v5.c
index db6b60d8..e9056993 100644
--- a/src/target/arm_adi_v5.c
+++ b/src/target/arm_adi_v5.c
@@ -78,10 +78,10 @@ int adi_jtag_dp_scan(arm_jtag_t *jtag_info, u8 instr, u8 reg_addr, u8 RnW, u8 *o
fields[0].out_value = &out_addr_buf;
fields[0].in_value = ack;
- fields[0].in_check_value = NULL;
- fields[0].in_check_mask = NULL;
+
+
fields[0].in_handler = NULL;
- fields[0].in_handler_priv = NULL;
+
fields[1].tap = jtag_info->tap;
fields[1].num_bits = 32;
@@ -89,9 +89,9 @@ int adi_jtag_dp_scan(arm_jtag_t *jtag_info, u8 instr, u8 reg_addr, u8 RnW, u8 *o
fields[1].in_value = invalue;
fields[1].in_handler = NULL;
- fields[1].in_handler_priv = NULL;
- fields[1].in_check_value = NULL;
- fields[1].in_check_mask = NULL;
+
+
+
jtag_add_dr_scan(2, fields, TAP_INVALID);
@@ -114,10 +114,10 @@ int adi_jtag_dp_scan_u32(arm_jtag_t *jtag_info, u8 instr, u8 reg_addr, u8 RnW, u
fields[0].out_value = &out_addr_buf;
fields[0].in_value = ack;
- fields[0].in_check_value = NULL;
- fields[0].in_check_mask = NULL;
+
+
fields[0].in_handler = NULL;
- fields[0].in_handler_priv = NULL;
+
fields[1].tap = jtag_info->tap;
fields[1].num_bits = 32;
@@ -133,10 +133,10 @@ int adi_jtag_dp_scan_u32(arm_jtag_t *jtag_info, u8 instr, u8 reg_addr, u8 RnW, u
else
{
fields[1].in_handler = NULL;
- fields[1].in_handler_priv = NULL;
+
}
- fields[1].in_check_value = NULL;
- fields[1].in_check_mask = NULL;
+
+
jtag_add_dr_scan(2, fields, TAP_INVALID);
diff --git a/src/target/arm_jtag.c b/src/target/arm_jtag.c
index c1dcd6fa..9911f446 100644
--- a/src/target/arm_jtag.c
+++ b/src/target/arm_jtag.c
@@ -54,10 +54,10 @@ int arm_jtag_set_instr(arm_jtag_t *jtag_info, u32 new_instr, in_handler_t handl
buf_set_u32(field.out_value, 0, field.num_bits, new_instr);
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, TAP_INVALID);
}
diff --git a/src/target/embeddedice.c b/src/target/embeddedice.c
index c59a2ede..cfe4ed7c 100644
--- a/src/target/embeddedice.c
+++ b/src/target/embeddedice.c
@@ -253,10 +253,10 @@ int embeddedice_read_reg_w_check(reg_t *reg, u8* check_value, u8* check_mask)
fields[0].out_value = reg->value;
fields[0].in_value = NULL;
- fields[0].in_check_value = NULL;
- fields[0].in_check_mask = NULL;
+
+
fields[0].in_handler = NULL;
- fields[0].in_handler_priv = NULL;
+
fields[1].tap = ice_reg->jtag_info->tap;
fields[1].num_bits = 5;
@@ -264,10 +264,10 @@ int embeddedice_read_reg_w_check(reg_t *reg, u8* check_value, u8* check_mask)
buf_set_u32(fields[1].out_value, 0, 5, reg_addr);
fields[1].in_value = NULL;
- fields[1].in_check_value = NULL;
- fields[1].in_check_mask = NULL;
+
+
fields[1].in_handler = NULL;
- fields[1].in_handler_priv = NULL;
+
fields[2].tap = ice_reg->jtag_info->tap;
fields[2].num_bits = 1;
@@ -275,10 +275,10 @@ int embeddedice_read_reg_w_check(reg_t *reg, u8* check_value, u8* check_mask)
buf_set_u32(fields[2].out_value, 0, 1, 0);
fields[2].in_value = NULL;
- fields[2].in_check_value = NULL;
- fields[2].in_check_mask = NULL;
+
+
fields[2].in_handler = NULL;
- fields[2].in_handler_priv = NULL;
+
jtag_add_dr_scan(3, fields, TAP_INVALID);
@@ -315,10 +315,10 @@ int embeddedice_receive(arm_jtag_t *jtag_info, u32 *data, u32 size)
fields[0].out_value = NULL;
fields[0].in_value = NULL;
- fields[0].in_check_value = NULL;
- fields[0].in_check_mask = NULL;
+
+
fields[0].in_handler = NULL;
- fields[0].in_handler_priv = NULL;
+
fields[1].tap = jtag_info->tap;
fields[1].num_bits = 5;
@@ -326,10 +326,10 @@ int embeddedice_receive(arm_jtag_t *jtag_info, u32 *data, u32 size)
buf_set_u32(fields[1].out_value, 0, 5, embeddedice_reg_arch_info[EICE_COMMS_DATA]);
fields[1].in_value = NULL;
- fields[1].in_check_value = NULL;
- fields[1].in_check_mask = NULL;
+
+
fields[1].in_handler = NULL;
- fields[1].in_handler_priv = NULL;
+
fields[2].tap = jtag_info->tap;
fields[2].num_bits = 1;
@@ -337,10 +337,10 @@ int embeddedice_receive(arm_jtag_t *jtag_info, u32 *data, u32 size)
buf_set_u32(fields[2].out_value, 0, 1, 0);
fields[2].in_value = NULL;
- fields[2].in_check_value = NULL;
- fields[2].in_check_mask = NULL;
+
+
fields[2].in_handler = NULL;
- fields[2].in_handler_priv = NULL;
+
jtag_add_dr_scan(3, fields, TAP_INVALID);
@@ -432,10 +432,10 @@ int embeddedice_send(arm_jtag_t *jtag_info, u32 *data, u32 size)
fields[0].out_value = field0_out;
fields[0].in_value = NULL;
- fields[0].in_check_value = NULL;
- fields[0].in_check_mask = NULL;
+
+
fields[0].in_handler = NULL;
- fields[0].in_handler_priv = NULL;
+
fields[1].tap = jtag_info->tap;
fields[1].num_bits = 5;
@@ -443,10 +443,10 @@ int embeddedice_send(arm_jtag_t *jtag_info, u32 *data, u32 size)
buf_set_u32(fields[1].out_value, 0, 5, embeddedice_reg_arch_info[EICE_COMMS_DATA]);
fields[1].in_value = NULL;
- fields[1].in_check_value = NULL;
- fields[1].in_check_mask = NULL;
+
+
fields[1].in_handler = NULL;
- fields[1].in_handler_priv = NULL;
+
fields[2].tap = jtag_info->tap;
fields[2].num_bits = 1;
@@ -454,10 +454,10 @@ int embeddedice_send(arm_jtag_t *jtag_info, u32 *data, u32 size)
buf_set_u32(fields[2].out_value, 0, 1, 1);
fields[2].in_value = NULL;
- fields[2].in_check_value = NULL;
- fields[2].in_check_mask = NULL;
+
+
fields[2].in_handler = NULL;
- fields[2].in_handler_priv = NULL;
+
while (size > 0)
{
@@ -501,10 +501,10 @@ int embeddedice_handshake(arm_jtag_t *jtag_info, int hsbit, u32 timeout)
fields[0].out_value = NULL;
fields[0].in_value = field0_in;
- fields[0].in_check_value = NULL;
- fields[0].in_check_mask = NULL;
+
+
fields[0].in_handler = NULL;
- fields[0].in_handler_priv = NULL;
+
fields[1].tap = jtag_info->tap;
fields[1].num_bits = 5;
@@ -512,10 +512,10 @@ int embeddedice_handshake(arm_jtag_t *jtag_info, int hsbit, u32 timeout)
buf_set_u32(fields[1].out_value, 0, 5, embeddedice_reg_arch_info[EICE_COMMS_CTRL]);
fields[1].in_value = NULL;
- fields[1].in_check_value = NULL;
- fields[1].in_check_mask = NULL;
+
+
fields[1].in_handler = NULL;
- fields[1].in_handler_priv = NULL;
+
fields[2].tap = jtag_info->tap;
fields[2].num_bits = 1;
@@ -523,10 +523,10 @@ int embeddedice_handshake(arm_jtag_t *jtag_info, int hsbit, u32 timeout)
buf_set_u32(fields[2].out_value, 0, 1, 0);
fields[2].in_value = NULL;
- fields[2].in_check_value = NULL;
- fields[2].in_check_mask = NULL;
+
+
fields[2].in_handler = NULL;
- fields[2].in_handler_priv = NULL;
+
jtag_add_dr_scan(3, fields, TAP_INVALID);
gettimeofday(&lap, NULL);
diff --git a/src/target/etb.c b/src/target/etb.c
index deecf141..f533bb6e 100644
--- a/src/target/etb.c
+++ b/src/target/etb.c
@@ -72,10 +72,10 @@ static int etb_set_instr(etb_t *etb, u32 new_instr)
buf_set_u32(field.out_value, 0, field.num_bits, new_instr);
field.in_value = NULL;
- field.in_check_value = NULL;
- field.in_check_mask = NULL;
+
+
field.in_handler = NULL;
- field.in_handler_priv = NULL;
+
jtag_add_ir_scan(1, &field, TAP_INVALID);
@@ -97,10 +97,10 @@ static int etb_scann(etb_t *etb, u32 new_scan_chain)
buf_set_u32(field.out_value, 0, field.num_bits, new_scan_chain);
field.in_value = NULL;
- field.in_check_value = NULL;
- field.in_check_mask = NULL;
+
+
field.in_handler = NULL;
- field.in_handler_priv = NULL;
+
/* select INTEST instruction */
etb_set_instr(etb, 0x2);
@@ -188,10 +188,10 @@ static int etb_read_ram(etb_t *etb, u32 *data, int num_frames)
fields[0].out_value = NULL;
fields[0].in_value = NULL;
- fields[0].in_check_value = NULL;
- fields[0].in_check_mask = NULL;
+
+
fields[0].in_handler = NULL;
- fields[0].in_handler_priv = NULL;
+
fields[1].tap = etb->tap;
fields[1].num_bits = 7;
@@ -199,10 +199,10 @@ static int etb_read_ram(etb_t *etb, u32 *data, int num_frames)
buf_set_u32(fields[1].out_value, 0, 7, 4);
fields[1].in_value = NULL;
- fields[1].in_check_value = NULL;
- fields[1].in_check_mask = NULL;
+
+
fields[1].in_handler = NULL;
- fields[1].in_handler_priv = NULL;
+
fields[2].tap = etb->tap;
fields[2].num_bits = 1;
@@ -210,10 +210,10 @@ static int etb_read_ram(etb_t *etb, u32 *data, int num_frames)
buf_set_u32(fields[2].out_value, 0, 1, 0);
fields[2].in_value = NULL;
- fields[2].in_check_value = NULL;
- fields[2].in_check_mask = NULL;
+
+
fields[2].in_handler = NULL;
- fields[2].in_handler_priv = NULL;
+
jtag_add_dr_scan(3, fields, TAP_INVALID);
@@ -259,10 +259,10 @@ int etb_read_reg_w_check(reg_t *reg, u8* check_value, u8* check_mask)
fields[0].out_value = reg->value;
fields[0].in_value = NULL;
- fields[0].in_check_value = NULL;
- fields[0].in_check_mask = NULL;
+
+
fields[0].in_handler = NULL;
- fields[0].in_handler_priv = NULL;
+
fields[1].tap = etb_reg->etb->tap;
fields[1].num_bits = 7;
@@ -270,10 +270,10 @@ int etb_read_reg_w_check(reg_t *reg, u8* check_value, u8* check_mask)
buf_set_u32(fields[1].out_value, 0, 7, reg_addr);
fields[1].in_value = NULL;
- fields[1].in_check_value = NULL;
- fields[1].in_check_mask = NULL;
+
+
fields[1].in_handler = NULL;
- fields[1].in_handler_priv = NULL;
+
fields[2].tap = etb_reg->etb->tap;
fields[2].num_bits = 1;
@@ -281,10 +281,10 @@ int etb_read_reg_w_check(reg_t *reg, u8* check_value, u8* check_mask)
buf_set_u32(fields[2].out_value, 0, 1, 0);
fields[2].in_value = NULL;
- fields[2].in_check_value = NULL;
- fields[2].in_check_mask = NULL;
+
+
fields[2].in_handler = NULL;
- fields[2].in_handler_priv = NULL;
+
jtag_add_dr_scan(3, fields, TAP_INVALID);
@@ -356,10 +356,10 @@ int etb_write_reg(reg_t *reg, u32 value)
buf_set_u32(fields[0].out_value, 0, 32, value);
fields[0].in_value = NULL;
- fields[0].in_check_value = NULL;
- fields[0].in_check_mask = NULL;
+
+
fields[0].in_handler = NULL;
- fields[0].in_handler_priv = NULL;
+
fields[1].tap = etb_reg->etb->tap;
fields[1].num_bits = 7;
@@ -367,10 +367,10 @@ int etb_write_reg(reg_t *reg, u32 value)
buf_set_u32(fields[1].out_value, 0, 7, reg_addr);
fields[1].in_value = NULL;
- fields[1].in_check_value = NULL;
- fields[1].in_check_mask = NULL;
+
+
fields[1].in_handler = NULL;
- fields[1].in_handler_priv = NULL;
+
fields[2].tap = etb_reg->etb->tap;
fields[2].num_bits = 1;
@@ -378,10 +378,10 @@ int etb_write_reg(reg_t *reg, u32 value)
buf_set_u32(fields[2].out_value, 0, 1, 1);
fields[2].in_value = NULL;
- fields[2].in_check_value = NULL;
- fields[2].in_check_mask = NULL;
+
+
fields[2].in_handler = NULL;
- fields[2].in_handler_priv = NULL;
+
jtag_add_dr_scan(3, fields, TAP_INVALID);
diff --git a/src/target/etm.c b/src/target/etm.c
index ab368781..4acc041f 100644
--- a/src/target/etm.c
+++ b/src/target/etm.c
@@ -341,10 +341,10 @@ int etm_read_reg_w_check(reg_t *reg, u8* check_value, u8* check_mask)
fields[0].out_value = reg->value;
fields[0].in_value = NULL;
- fields[0].in_check_value = NULL;
- fields[0].in_check_mask = NULL;
+
+
fields[0].in_handler = NULL;
- fields[0].in_handler_priv = NULL;
+
fields[1].tap = etm_reg->jtag_info->tap;
fields[1].num_bits = 7;
@@ -352,10 +352,10 @@ int etm_read_reg_w_check(reg_t *reg, u8* check_value, u8* check_mask)
buf_set_u32(fields[1].out_value, 0, 7, reg_addr);
fields[1].in_value = NULL;
- fields[1].in_check_value = NULL;
- fields[1].in_check_mask = NULL;
+
+
fields[1].in_handler = NULL;
- fields[1].in_handler_priv = NULL;
+
fields[2].tap = etm_reg->jtag_info->tap;
fields[2].num_bits = 1;
@@ -363,10 +363,10 @@ int etm_read_reg_w_check(reg_t *reg, u8* check_value, u8* check_mask)
buf_set_u32(fields[2].out_value, 0, 1, 0);
fields[2].in_value = NULL;
- fields[2].in_check_value = NULL;
- fields[2].in_check_mask = NULL;
+
+
fields[2].in_handler = NULL;
- fields[2].in_handler_priv = NULL;
+
jtag_add_dr_scan(3, fields, TAP_INVALID);
@@ -433,10 +433,10 @@ int etm_write_reg(reg_t *reg, u32 value)
buf_set_u32(fields[0].out_value, 0, 32, value);
fields[0].in_value = NULL;
- fields[0].in_check_value = NULL;
- fields[0].in_check_mask = NULL;
+
+
fields[0].in_handler = NULL;
- fields[0].in_handler_priv = NULL;
+
fields[1].tap = etm_reg->jtag_info->tap;
fields[1].num_bits = 7;
@@ -444,10 +444,10 @@ int etm_write_reg(reg_t *reg, u32 value)
buf_set_u32(fields[1].out_value, 0, 7, reg_addr);
fields[1].in_value = NULL;
- fields[1].in_check_value = NULL;
- fields[1].in_check_mask = NULL;
+
+
fields[1].in_handler = NULL;
- fields[1].in_handler_priv = NULL;
+
fields[2].tap = etm_reg->jtag_info->tap;
fields[2].num_bits = 1;
@@ -455,10 +455,10 @@ int etm_write_reg(reg_t *reg, u32 value)
buf_set_u32(fields[2].out_value, 0, 1, 1);
fields[2].in_value = NULL;
- fields[2].in_check_value = NULL;
- fields[2].in_check_mask = NULL;
+
+
fields[2].in_handler = NULL;
- fields[2].in_handler_priv = NULL;
+
jtag_add_dr_scan(3, fields, TAP_INVALID);
diff --git a/src/target/feroceon.c b/src/target/feroceon.c
index 507bd695..abc44f5e 100644
--- a/src/target/feroceon.c
+++ b/src/target/feroceon.c
@@ -138,29 +138,29 @@ int feroceon_dummy_clock_out(arm_jtag_t *jtag_info, u32 instr)
fields[0].in_value = NULL;
fields[0].in_handler = NULL;
- fields[0].in_handler_priv = NULL;
- fields[0].in_check_value = NULL;
- fields[0].in_check_mask = NULL;
+
+
+
fields[1].tap = jtag_info->tap;
fields[1].num_bits = 3;
fields[1].out_value = &sysspeed_buf;
fields[1].in_value = NULL;
- fields[1].in_check_value = NULL;
- fields[1].in_check_mask = NULL;
+
+
fields[1].in_handler = NULL;
- fields[1].in_handler_priv = NULL;
+
fields[2].tap = jtag_info->tap;
fields[2].num_bits = 32;
fields[2].out_value = instr_buf;
fields[2].in_value = NULL;
- fields[2].in_check_value = NULL;
- fields[2].in_check_mask = NULL;
+
+
fields[2].in_handler = NULL;
- fields[2].in_handler_priv = NULL;
+
jtag_add_dr_scan(3, fields, TAP_INVALID);
diff --git a/src/target/mips_ejtag.c b/src/target/mips_ejtag.c
index 5cd82abf..424105ee 100644
--- a/src/target/mips_ejtag.c
+++ b/src/target/mips_ejtag.c
@@ -51,10 +51,10 @@ int mips_ejtag_set_instr(mips_ejtag_t *ejtag_info, int new_instr, void *delete_m
buf_set_u32(field.out_value, 0, field.num_bits, new_instr);
field.in_value = NULL;
- field.in_check_value = NULL;
- field.in_check_mask = NULL;
+
+
field.in_handler = NULL;
- field.in_handler_priv = NULL;
+
jtag_add_ir_scan(1, &field, TAP_INVALID);
}
@@ -74,10 +74,10 @@ int mips_ejtag_get_idcode(mips_ejtag_t *ejtag_info, u32 *idcode, in_handler_t ha
field.out_value = 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, TAP_INVALID);
if (jtag_execute_queue() != ERROR_OK)
@@ -101,10 +101,10 @@ int mips_ejtag_get_impcode(mips_ejtag_t *ejtag_info, u32 *impcode, in_handler_t
field.out_value = 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, TAP_INVALID);
if (jtag_execute_queue() != ERROR_OK)
@@ -132,10 +132,10 @@ int mips_ejtag_drscan_32(mips_ejtag_t *ejtag_info, u32 *data)
buf_set_u32(field.out_value, 0, field.num_bits, *data);
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, TAP_INVALID);
if ((retval = jtag_execute_queue()) != ERROR_OK)
diff --git a/src/target/xscale.c b/src/target/xscale.c
index 3ec84373..1b44b9d9 100644
--- a/src/target/xscale.c
+++ b/src/target/xscale.c
@@ -271,9 +271,9 @@ int xscale_read_dcsr(target_t *target)
fields[1].in_value = xscale->reg_cache->reg_list[XSCALE_DCSR].value;
fields[1].in_handler = NULL;
- fields[1].in_handler_priv = NULL;
- fields[1].in_check_value = NULL;
- fields[1].in_check_mask = NULL;
+
+
+
fields[2].tap = xscale->jtag_info.tap;
fields[2].num_bits = 1;
@@ -349,9 +349,9 @@ int xscale_receive(target_t *target, u32 *buffer, int num_words)
fields[1].in_value = NULL;
fields[1].in_handler = NULL;
- fields[1].in_handler_priv = NULL;
- fields[1].in_check_value = NULL;
- fields[1].in_check_mask = NULL;
+
+
+
fields[2].tap = xscale->jtag_info.tap;
fields[2].num_bits = 1;
@@ -468,9 +468,9 @@ int xscale_read_tx(target_t *target, int consume)
fields[1].in_value = xscale->reg_cache->reg_list[XSCALE_TX].value;
fields[1].in_handler = NULL;
- fields[1].in_handler_priv = NULL;
- fields[1].in_check_value = NULL;
- fields[1].in_check_mask = NULL;
+
+
+
fields[2].tap = xscale->jtag_info.tap;
fields[2].num_bits = 1;
@@ -564,9 +564,9 @@ int xscale_write_rx(target_t *target)
fields[1].in_value = NULL;
fields[1].in_handler = NULL;
- fields[1].in_handler_priv = NULL;
- fields[1].in_check_value = NULL;
- fields[1].in_check_mask = NULL;
+
+
+
fields[2].tap = xscale->jtag_info.tap;
fields[2].num_bits = 1;
@@ -739,9 +739,9 @@ int xscale_write_dcsr(target_t *target, int hold_rst, int ext_dbg_brk)
fields[1].in_value = NULL;
fields[1].in_handler = NULL;
- fields[1].in_handler_priv = NULL;
- fields[1].in_check_value = NULL;
- fields[1].in_check_mask = NULL;
+
+
+
fields[2].tap = xscale->jtag_info.tap;
fields[2].num_bits = 1;
@@ -807,20 +807,20 @@ int xscale_load_ic(target_t *target, int mini, u32 va, u32 buffer[8])
fields[0].out_value = &cmd;
fields[0].in_value = NULL;
- fields[0].in_check_value = NULL;
- fields[0].in_check_mask = NULL;
+
+
fields[0].in_handler = NULL;
- fields[0].in_handler_priv = NULL;
+
fields[1].tap = xscale->jtag_info.tap;
fields[1].num_bits = 27;
fields[1].out_value = packet;
fields[1].in_value = NULL;
- fields[1].in_check_value = NULL;
- fields[1].in_check_mask = NULL;
+
+
fields[1].in_handler = NULL;
- fields[1].in_handler_priv = NULL;
+
jtag_add_dr_scan(2, fields, TAP_INVALID);
@@ -865,20 +865,20 @@ int xscale_invalidate_ic_line(target_t *target, u32 va)
fields[0].out_value = &cmd;
fields[0].in_value = NULL;
- fields[0].in_check_value = NULL;
- fields[0].in_check_mask = NULL;
+
+
fields[0].in_handler = NULL;
- fields[0].in_handler_priv = NULL;
+
fields[1].tap = xscale->jtag_info.tap;
fields[1].num_bits = 27;
fields[1].out_value = packet;
fields[1].in_value = NULL;
- fields[1].in_check_value = NULL;
- fields[1].in_check_mask = NULL;
+
+
fields[1].in_handler = NULL;
- fields[1].in_handler_priv = NULL;
+
jtag_add_dr_scan(2, fields, TAP_INVALID);
diff --git a/src/xsvf/xsvf.c b/src/xsvf/xsvf.c
index 1baa1263..0e19b65c 100644
--- a/src/xsvf/xsvf.c
+++ b/src/xsvf/xsvf.c
@@ -707,10 +707,10 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha
field.out_value = ir_buf;
field.in_value = NULL;
- field.in_check_value = NULL;
- field.in_check_mask = NULL;
+
+
field.in_handler = NULL;
- field.in_handler_priv = NULL;
+
if (tap == NULL)
jtag_add_plain_ir_scan(1, &field, my_end_state);