Do not submit this patch. Do not modify / retire any parameter from JTAG API scan functions.
Yes, field.out_mask is not used for ARM Debug, but could be very important for pure boundary scan test ! Please do not touch the JTAG API at all ! Regards, Laurent Gauch http://www.amontec.com http://www.amontec.com/jtagkey.shtml > I'd like to retire out_mask, it isn't used anywhere. > > See attached patch. > > -- > Øyvind Harboe > Embedded software and hardware consulting services > http://consulting.zylin.com > -------------- next part -------------- > Index: C:/workspace/openocd/src/flash/str9xpec.c > =================================================================== > --- C:/workspace/openocd/src/flash/str9xpec.c (revision 1607) > +++ C:/workspace/openocd/src/flash/str9xpec.c (working copy) > @@ -125,7 +125,7 @@ > 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.out_mask = NULL; > + > field.in_value = NULL; > field.in_check_value = NULL; > field.in_check_mask = NULL; > @@ -151,7 +151,7 @@ > field.tap = tap; > field.num_bits = 8; > field.out_value = NULL; > - field.out_mask = NULL; > + > field.in_value = &status; > field.in_check_value = NULL; > field.in_check_mask = NULL; > @@ -243,7 +243,7 @@ > field.tap = tap; > field.num_bits = 64; > field.out_value = NULL; > - field.out_mask = NULL; > + > field.in_value = str9xpec_info->options; > field.in_check_value = NULL; > field.in_check_mask = NULL; > @@ -395,7 +395,7 @@ > field.tap = tap; > field.num_bits = 64; > field.out_value = buffer; > - field.out_mask = NULL; > + > field.in_value = NULL; > field.in_check_value = NULL; > field.in_check_mask = NULL; > @@ -409,7 +409,7 @@ > field.tap = tap; > field.num_bits = 64; > field.out_value = NULL; > - field.out_mask = NULL; > + > field.in_value = buffer; > field.in_check_value = NULL; > field.in_check_mask = NULL; > @@ -511,7 +511,7 @@ > field.tap = tap; > field.num_bits = 64; > field.out_value = buffer; > - field.out_mask = NULL; > + > field.in_value = NULL; > field.in_check_value = NULL; > field.in_check_mask = NULL; > @@ -577,7 +577,7 @@ > field.tap = tap; > field.num_bits = 8; > field.out_value = NULL; > - field.out_mask = NULL; > + > field.in_value = &status; > field.in_check_value = NULL; > field.in_check_mask = NULL; > @@ -663,7 +663,7 @@ > field.tap = tap; > field.num_bits = 8; > field.out_value = §or; > - field.out_mask = NULL; > + > field.in_value = NULL; > field.in_check_value = NULL; > field.in_check_mask = NULL; > @@ -752,7 +752,7 @@ > field.tap = tap; > field.num_bits = 64; > field.out_value = (buffer + bytes_written); > - field.out_mask = NULL; > + > field.in_value = NULL; > field.in_check_value = NULL; > field.in_check_mask = NULL; > @@ -770,7 +770,7 @@ > field.tap = tap; > field.num_bits = 8; > field.out_value = NULL; > - field.out_mask = NULL; > + > field.in_value = scanbuf; > field.in_check_value = NULL; > field.in_check_mask = NULL; > @@ -812,7 +812,7 @@ > field.tap = tap; > field.num_bits = 64; > field.out_value = last_dword; > - field.out_mask = NULL; > + > field.in_value = NULL; > field.in_check_value = NULL; > field.in_check_mask = NULL; > @@ -830,7 +830,7 @@ > field.tap = tap; > field.num_bits = 8; > field.out_value = NULL; > - field.out_mask = NULL; > + > field.in_value = scanbuf; > field.in_check_value = NULL; > field.in_check_mask = NULL; > @@ -894,7 +894,7 @@ > field.tap = tap; > field.num_bits = 32; > field.out_value = NULL; > - field.out_mask = NULL; > + > field.in_value = buffer; > field.in_check_value = NULL; > field.in_check_mask = NULL; > @@ -1019,7 +1019,7 @@ > field.tap = tap; > field.num_bits = 64; > field.out_value = str9xpec_info->options; > - field.out_mask = NULL; > + > field.in_value = NULL; > field.in_check_value = NULL; > field.in_check_mask = NULL; > @@ -1037,7 +1037,7 @@ > field.tap = tap; > field.num_bits = 8; > field.out_value = NULL; > - field.out_mask = NULL; > + > field.in_value = &status; > field.in_check_value = NULL; > field.in_check_mask = NULL; > Index: C:/workspace/openocd/src/helper/tclapi.c > =================================================================== > --- C:/workspace/openocd/src/helper/tclapi.c (revision 1607) > +++ C:/workspace/openocd/src/helper/tclapi.c (working copy) > @@ -447,7 +447,6 @@ > fields[field_count].num_bits = bits; > fields[field_count].out_value = malloc(CEIL(bits, 8)); > str_to_buf(str, len, fields[field_count].out_value, bits, 0); > - fields[field_count].out_mask = NULL; > fields[field_count].in_value = fields[field_count].out_value; > fields[field_count].in_check_mask = NULL; > fields[field_count].in_check_value = NULL; > Index: C:/workspace/openocd/src/jtag/jtag.c > =================================================================== > --- C:/workspace/openocd/src/jtag/jtag.c (revision 1607) > +++ C:/workspace/openocd/src/jtag/jtag.c (working copy) > @@ -579,8 +579,7 @@ > { > found = 1; > > (*last_cmd)->cmd.scan->fields[nth_tap].out_value = > buf_cpy(fields[j].out_value, cmd_queue_alloc(CEIL(scan_size, 8)), scan_size); > - (*last_cmd)->cmd.scan->fields[nth_tap].out_mask > = buf_cpy(fields[j].out_mask, cmd_queue_alloc(CEIL(scan_size, 8)), scan_size); > - > + > if (jtag_verify_capture_ir) > { > if (fields[j].in_handler==NULL) > @@ -604,7 +603,6 @@ > { > /* if a tap isn't listed, set it to BYPASS */ > (*last_cmd)->cmd.scan->fields[nth_tap].out_value = > buf_set_ones(cmd_queue_alloc(CEIL(scan_size, 8)), scan_size); > - (*last_cmd)->cmd.scan->fields[nth_tap].out_mask = NULL; > tap->bypass = 1; > } > > @@ -652,7 +650,6 @@ > (*last_cmd)->cmd.scan->fields[i].tap = fields[i].tap; > (*last_cmd)->cmd.scan->fields[i].num_bits = num_bits; > (*last_cmd)->cmd.scan->fields[i].out_value = > buf_cpy(fields[i].out_value, cmd_queue_alloc(num_bytes), num_bits); > - (*last_cmd)->cmd.scan->fields[i].out_mask = > buf_cpy(fields[i].out_mask, cmd_queue_alloc(num_bytes), num_bits); > (*last_cmd)->cmd.scan->fields[i].in_value = fields[i].in_value; > (*last_cmd)->cmd.scan->fields[i].in_check_value = > fields[i].in_check_value; > (*last_cmd)->cmd.scan->fields[i].in_check_mask = > fields[i].in_check_mask; > @@ -729,7 +726,6 @@ > scan_size = fields[j].num_bits; > > (*last_cmd)->cmd.scan->fields[field_count].num_bits = scan_size; > > (*last_cmd)->cmd.scan->fields[field_count].out_value = > buf_cpy(fields[j].out_value, cmd_queue_alloc(CEIL(scan_size, 8)), scan_size); > - > (*last_cmd)->cmd.scan->fields[field_count].out_mask = > buf_cpy(fields[j].out_mask, cmd_queue_alloc(CEIL(scan_size, 8)), scan_size); > > (*last_cmd)->cmd.scan->fields[field_count].in_value = fields[j].in_value; > > (*last_cmd)->cmd.scan->fields[field_count].in_check_value = > fields[j].in_check_value; > > (*last_cmd)->cmd.scan->fields[field_count].in_check_mask = > fields[j].in_check_mask; > @@ -750,7 +746,6 @@ > /* program the scan field to 1 bit length, and ignore > it's value */ > (*last_cmd)->cmd.scan->fields[field_count].num_bits = 1; > (*last_cmd)->cmd.scan->fields[field_count].out_value = > NULL; > - (*last_cmd)->cmd.scan->fields[field_count].out_mask = > NULL; > (*last_cmd)->cmd.scan->fields[field_count].in_value = > NULL; > > (*last_cmd)->cmd.scan->fields[field_count].in_check_value = NULL; > > (*last_cmd)->cmd.scan->fields[field_count].in_check_mask = NULL; > @@ -840,7 +835,6 @@ > buf_set_u32(out_value, 0, scan_size, value[j]); > > (*last_cmd)->cmd.scan->fields[field_count].num_bits = scan_size; > > (*last_cmd)->cmd.scan->fields[field_count].out_value = buf_cpy(out_value, > cmd_queue_alloc(CEIL(scan_size, 8)), scan_size); > - > (*last_cmd)->cmd.scan->fields[field_count].out_mask = NULL; > > (*last_cmd)->cmd.scan->fields[field_count].in_value = NULL; > > (*last_cmd)->cmd.scan->fields[field_count].in_check_value = NULL; > > (*last_cmd)->cmd.scan->fields[field_count].in_check_mask = NULL; > @@ -860,7 +854,6 @@ > /* program the scan field to 1 bit length, and ignore > it's value */ > (*last_cmd)->cmd.scan->fields[field_count].num_bits = 1; > (*last_cmd)->cmd.scan->fields[field_count].out_value = > NULL; > - (*last_cmd)->cmd.scan->fields[field_count].out_mask = > NULL; > (*last_cmd)->cmd.scan->fields[field_count].in_value = > NULL; > > (*last_cmd)->cmd.scan->fields[field_count].in_check_value = NULL; > > (*last_cmd)->cmd.scan->fields[field_count].in_check_mask = NULL; > @@ -906,7 +899,6 @@ > (*last_cmd)->cmd.scan->fields[i].tap = fields[i].tap; > (*last_cmd)->cmd.scan->fields[i].num_bits = num_bits; > (*last_cmd)->cmd.scan->fields[i].out_value = > buf_cpy(fields[i].out_value, cmd_queue_alloc(num_bytes), num_bits); > - (*last_cmd)->cmd.scan->fields[i].out_mask = > buf_cpy(fields[i].out_mask, cmd_queue_alloc(num_bytes), num_bits); > (*last_cmd)->cmd.scan->fields[i].in_value = fields[i].in_value; > (*last_cmd)->cmd.scan->fields[i].in_check_value = > fields[i].in_check_value; > (*last_cmd)->cmd.scan->fields[i].in_check_mask = > fields[i].in_check_mask; > @@ -1492,7 +1484,7 @@ > field.tap = NULL; > field.num_bits = sizeof(idcode_buffer) * 8; > field.out_value = idcode_buffer; > - field.out_mask = NULL; > + > field.in_value = idcode_buffer; > field.in_check_value = NULL; > field.in_check_mask = NULL; > @@ -1670,7 +1662,7 @@ > field.tap = NULL; > field.num_bits = total_ir_length; > field.out_value = ir_test; > - field.out_mask = NULL; > + > field.in_value = ir_test; > field.in_check_value = NULL; > field.in_check_mask = NULL; > @@ -2792,7 +2784,6 @@ > fields[i].tap = tap; > fields[i].out_value = malloc(CEIL(field_size, 8)); > buf_set_u32(fields[i].out_value, 0, field_size, > strtoul(args[i*2+1], NULL, 0)); > - fields[i].out_mask = NULL; > fields[i].in_value = NULL; > fields[i].in_check_mask = NULL; > fields[i].in_handler = NULL; > @@ -2908,7 +2899,6 @@ > fields[field_count].num_bits = bits; > fields[field_count].out_value = malloc(CEIL(bits, 8)); > str_to_buf(str, len, fields[field_count].out_value, bits, 0); > - fields[field_count].out_mask = NULL; > fields[field_count].in_value = fields[field_count].out_value; > fields[field_count].in_check_mask = NULL; > fields[field_count].in_check_value = NULL; > Index: C:/workspace/openocd/src/jtag/jtag.h > =================================================================== > --- C:/workspace/openocd/src/jtag/jtag.h (revision 1607) > +++ C:/workspace/openocd/src/jtag/jtag.h (working copy) > @@ -271,7 +271,6 @@ > jtag_tap_t* tap; /* tap pointer this instruction refers > to */ > int num_bits; /* number of bits this field specifies > (up to 32) */ > u8* out_value; /* value to be scanned into the device > */ > - u8* out_mask; /* only masked bits care */ > u8* in_value; /* pointer to a 32-bit memory location > to take data scanned out */ > /* 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; /* used to validate scan results */ > Index: C:/workspace/openocd/src/jtag/zy1000.c > =================================================================== > --- C:/workspace/openocd/src/jtag/zy1000.c (revision 1607) > +++ C:/workspace/openocd/src/jtag/zy1000.c (working copy) > @@ -650,7 +650,6 @@ > /* program the scan field to 1 bit length, and ignore > it's value */ > tmp.num_bits = 1; > tmp.out_value = NULL; > - tmp.out_mask = NULL; > tmp.in_value = NULL; > tmp.in_check_value = NULL; > tmp.in_check_mask = NULL; > Index: C:/workspace/openocd/src/pld/virtex2.c > =================================================================== > --- C:/workspace/openocd/src/pld/virtex2.c (revision 1607) > +++ C:/workspace/openocd/src/pld/virtex2.c (working copy) > @@ -56,7 +56,7 @@ > 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.out_mask = NULL; > + > field.in_value = NULL; > field.in_check_value = NULL; > field.in_check_mask = NULL; > @@ -83,7 +83,6 @@ > scan_field.tap = virtex2_info->tap; > scan_field.num_bits = num_words * 32; > scan_field.out_value = values; > - scan_field.out_mask = NULL; > scan_field.in_value = NULL; > scan_field.in_check_value = NULL; > scan_field.in_check_mask = NULL; > @@ -117,7 +116,6 @@ > scan_field.tap = virtex2_info->tap; > scan_field.num_bits = 32; > scan_field.out_value = NULL; > - scan_field.out_mask = NULL; > scan_field.in_value = NULL; > scan_field.in_check_value = NULL; > scan_field.in_check_mask = NULL; > @@ -166,7 +164,7 @@ > scan_field_t field; > > field.tap = virtex2_info->tap; > - field.out_mask = NULL; > + > field.in_value = NULL; > field.in_check_value = NULL; > field.in_check_mask = NULL; > Index: C:/workspace/openocd/src/svf/svf.c > =================================================================== > --- C:/workspace/openocd/src/svf/svf.c (revision 1607) > +++ C:/workspace/openocd/src/svf/svf.c (working copy) > @@ -975,7 +975,7 @@ > field.tap = tap; > field.num_bits = i; > field.out_value = &svf_tdi_buffer[svf_buffer_index]; > - field.out_mask = NULL; > + > field.in_value = &svf_tdi_buffer[svf_buffer_index]; > field.in_check_value = NULL; > field.in_check_mask = NULL; > @@ -1076,7 +1076,7 @@ > field.tap = tap; > field.num_bits = i; > field.out_value = &svf_tdi_buffer[svf_buffer_index]; > - field.out_mask = NULL; > + > field.in_value = &svf_tdi_buffer[svf_buffer_index]; > field.in_check_value = NULL; > field.in_check_mask = NULL; > Index: C:/workspace/openocd/src/target/arm11_dbgtap.c > =================================================================== > --- C:/workspace/openocd/src/target/arm11_dbgtap.c (revision 1607) > +++ C:/workspace/openocd/src/target/arm11_dbgtap.c (working copy) > @@ -87,7 +87,6 @@ > { > field->tap = arm11->jtag_info.tap; > field->num_bits = num_bits; > - field->out_mask = NULL; > field->in_check_mask = NULL; > field->in_check_value = NULL; > field->in_handler = NULL; > Index: C:/workspace/openocd/src/target/arm720t.c > =================================================================== > --- C:/workspace/openocd/src/target/arm720t.c (revision 1607) > +++ C:/workspace/openocd/src/target/arm720t.c (working copy) > @@ -112,7 +112,7 @@ > fields[0].tap = jtag_info->tap; > fields[0].num_bits = 1; > fields[0].out_value = &instruction_buf; > - fields[0].out_mask = NULL; > + > fields[0].in_value = NULL; > fields[0].in_check_value = NULL; > fields[0].in_check_mask = NULL; > @@ -122,7 +122,7 @@ > fields[1].tap = jtag_info->tap; > fields[1].num_bits = 32; > fields[1].out_value = out_buf; > - fields[1].out_mask = NULL; > + > fields[1].in_value = NULL; > if (in) > { > Index: C:/workspace/openocd/src/target/arm7tdmi.c > =================================================================== > --- C:/workspace/openocd/src/target/arm7tdmi.c (revision 1607) > +++ C:/workspace/openocd/src/target/arm7tdmi.c (working copy) > @@ -111,7 +111,7 @@ > fields[0].tap = arm7_9->jtag_info.tap; > fields[0].num_bits = 1; > fields[0].out_value = NULL; > - fields[0].out_mask = NULL; > + > fields[0].in_value = &breakpoint; > fields[0].in_check_value = NULL; > fields[0].in_check_mask = NULL; > @@ -121,7 +121,7 @@ > fields[1].tap = arm7_9->jtag_info.tap; > fields[1].num_bits = 32; > fields[1].out_value = NULL; > - fields[1].out_mask = NULL; > + > fields[1].in_value = databus; > fields[1].in_check_value = NULL; > fields[1].in_check_mask = NULL; > @@ -198,7 +198,7 @@ > fields[0].tap = jtag_info->tap; > fields[0].num_bits = 1; > fields[0].out_value = NULL; > - fields[0].out_mask = NULL; > + > fields[0].in_value = NULL; > fields[0].in_check_value = NULL; > fields[0].in_check_mask = NULL; > @@ -208,7 +208,7 @@ > fields[1].tap = jtag_info->tap; > fields[1].num_bits = 32; > fields[1].out_value = NULL; > - fields[1].out_mask = NULL; > + > 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; > @@ -259,7 +259,7 @@ > fields[0].tap = jtag_info->tap; > fields[0].num_bits = 1; > fields[0].out_value = NULL; > - fields[0].out_mask = NULL; > + > fields[0].in_value = NULL; > fields[0].in_check_value = NULL; > fields[0].in_check_mask = NULL; > @@ -269,7 +269,7 @@ > fields[1].tap = jtag_info->tap; > fields[1].num_bits = 32; > fields[1].out_value = NULL; > - fields[1].out_mask = NULL; > + > fields[1].in_value = NULL; > switch (size) > { > Index: C:/workspace/openocd/src/target/arm920t.c > =================================================================== > --- C:/workspace/openocd/src/target/arm920t.c (revision 1607) > +++ C:/workspace/openocd/src/target/arm920t.c (working copy) > @@ -113,7 +113,7 @@ > fields[0].tap = jtag_info->tap; > fields[0].num_bits = 1; > fields[0].out_value = &access_type_buf; > - fields[0].out_mask = NULL; > + > fields[0].in_value = NULL; > fields[0].in_check_value = NULL; > fields[0].in_check_mask = NULL; > @@ -123,7 +123,7 @@ > fields[1].tap = jtag_info->tap; > fields[1].num_bits = 32; > fields[1].out_value = NULL; > - fields[1].out_mask = NULL; > + > fields[1].in_value = NULL; > fields[1].in_check_value = NULL; > fields[1].in_check_mask = NULL; > @@ -133,7 +133,7 @@ > fields[2].tap = jtag_info->tap; > fields[2].num_bits = 6; > fields[2].out_value = ®_addr_buf; > - fields[2].out_mask = NULL; > + > fields[2].in_value = NULL; > fields[2].in_check_value = NULL; > fields[2].in_check_mask = NULL; > @@ -143,7 +143,7 @@ > fields[3].tap = jtag_info->tap; > fields[3].num_bits = 1; > fields[3].out_value = &nr_w_buf; > - fields[3].out_mask = NULL; > + > fields[3].in_value = NULL; > fields[3].in_check_value = NULL; > fields[3].in_check_mask = NULL; > @@ -185,7 +185,7 @@ > fields[0].tap = jtag_info->tap; > fields[0].num_bits = 1; > fields[0].out_value = &access_type_buf; > - fields[0].out_mask = NULL; > + > fields[0].in_value = NULL; > fields[0].in_check_value = NULL; > fields[0].in_check_mask = NULL; > @@ -195,7 +195,7 @@ > fields[1].tap = jtag_info->tap; > fields[1].num_bits = 32; > fields[1].out_value = value_buf; > - fields[1].out_mask = NULL; > + > fields[1].in_value = NULL; > fields[1].in_check_value = NULL; > fields[1].in_check_mask = NULL; > @@ -205,7 +205,7 @@ > fields[2].tap = jtag_info->tap; > fields[2].num_bits = 6; > fields[2].out_value = ®_addr_buf; > - fields[2].out_mask = NULL; > + > fields[2].in_value = NULL; > fields[2].in_check_value = NULL; > fields[2].in_check_mask = NULL; > @@ -215,7 +215,7 @@ > fields[3].tap = jtag_info->tap; > fields[3].num_bits = 1; > fields[3].out_value = &nr_w_buf; > - fields[3].out_mask = NULL; > + > fields[3].in_value = NULL; > fields[3].in_check_value = NULL; > fields[3].in_check_mask = NULL; > @@ -252,7 +252,7 @@ > fields[0].tap = jtag_info->tap; > fields[0].num_bits = 1; > fields[0].out_value = &access_type_buf; > - fields[0].out_mask = NULL; > + > fields[0].in_value = NULL; > fields[0].in_check_value = NULL; > fields[0].in_check_mask = NULL; > @@ -262,7 +262,7 @@ > fields[1].tap = jtag_info->tap; > fields[1].num_bits = 32; > fields[1].out_value = cp15_opcode_buf; > - fields[1].out_mask = NULL; > + > fields[1].in_value = NULL; > fields[1].in_check_value = NULL; > fields[1].in_check_mask = NULL; > @@ -272,7 +272,7 @@ > fields[2].tap = jtag_info->tap; > fields[2].num_bits = 6; > fields[2].out_value = ®_addr_buf; > - fields[2].out_mask = NULL; > + > fields[2].in_value = NULL; > fields[2].in_check_value = NULL; > fields[2].in_check_mask = NULL; > @@ -282,7 +282,7 @@ > fields[3].tap = jtag_info->tap; > fields[3].num_bits = 1; > fields[3].out_value = &nr_w_buf; > - fields[3].out_mask = NULL; > + > fields[3].in_value = NULL; > fields[3].in_check_value = NULL; > fields[3].in_check_mask = NULL; > Index: C:/workspace/openocd/src/target/arm926ejs.c > =================================================================== > --- C:/workspace/openocd/src/target/arm926ejs.c (revision 1607) > +++ C:/workspace/openocd/src/target/arm926ejs.c (working copy) > @@ -137,7 +137,7 @@ > fields[0].tap = jtag_info->tap; > fields[0].num_bits = 32; > fields[0].out_value = NULL; > - fields[0].out_mask = NULL; > + > fields[0].in_value = NULL; > fields[0].in_check_value = NULL; > fields[0].in_check_mask = NULL; > @@ -147,7 +147,7 @@ > fields[1].tap = jtag_info->tap; > fields[1].num_bits = 1; > fields[1].out_value = &access; > - fields[1].out_mask = NULL; > + > fields[1].in_value = &access; > fields[1].in_check_value = NULL; > fields[1].in_check_mask = NULL; > @@ -157,7 +157,7 @@ > fields[2].tap = jtag_info->tap; > fields[2].num_bits = 14; > fields[2].out_value = address_buf; > - fields[2].out_mask = NULL; > + > fields[2].in_value = NULL; > fields[2].in_check_value = NULL; > fields[2].in_check_mask = NULL; > @@ -167,7 +167,7 @@ > fields[3].tap = jtag_info->tap; > fields[3].num_bits = 1; > fields[3].out_value = &nr_w_buf; > - fields[3].out_mask = NULL; > + > fields[3].in_value = NULL; > fields[3].in_check_value = NULL; > fields[3].in_check_mask = NULL; > @@ -227,7 +227,7 @@ > fields[0].tap = jtag_info->tap; > fields[0].num_bits = 32; > fields[0].out_value = value_buf; > - fields[0].out_mask = NULL; > + > fields[0].in_value = NULL; > fields[0].in_check_value = NULL; > fields[0].in_check_mask = NULL; > @@ -237,7 +237,7 @@ > fields[1].tap = jtag_info->tap; > fields[1].num_bits = 1; > fields[1].out_value = &access; > - fields[1].out_mask = NULL; > + > fields[1].in_value = &access; > fields[1].in_check_value = NULL; > fields[1].in_check_mask = NULL; > @@ -247,7 +247,7 @@ > fields[2].tap = jtag_info->tap; > fields[2].num_bits = 14; > fields[2].out_value = address_buf; > - fields[2].out_mask = NULL; > + > fields[2].in_value = NULL; > fields[2].in_check_value = NULL; > fields[2].in_check_mask = NULL; > @@ -257,7 +257,7 @@ > fields[3].tap = jtag_info->tap; > fields[3].num_bits = 1; > fields[3].out_value = &nr_w_buf; > - fields[3].out_mask = NULL; > + > fields[3].in_value = NULL; > fields[3].in_check_value = NULL; > fields[3].in_check_mask = NULL; > Index: C:/workspace/openocd/src/target/arm966e.c > =================================================================== > --- C:/workspace/openocd/src/target/arm966e.c (revision 1607) > +++ C:/workspace/openocd/src/target/arm966e.c (working copy) > @@ -187,7 +187,7 @@ > fields[0].tap = jtag_info->tap; > fields[0].num_bits = 32; > fields[0].out_value = NULL; > - fields[0].out_mask = NULL; > + > fields[0].in_value = NULL; > fields[0].in_check_value = NULL; > fields[0].in_check_mask = NULL; > @@ -197,7 +197,7 @@ > fields[1].tap = jtag_info->tap; > fields[1].num_bits = 6; > fields[1].out_value = ®_addr_buf; > - fields[1].out_mask = NULL; > + > fields[1].in_value = NULL; > fields[1].in_check_value = NULL; > fields[1].in_check_mask = NULL; > @@ -207,7 +207,7 @@ > fields[2].tap = jtag_info->tap; > fields[2].num_bits = 1; > fields[2].out_value = &nr_w_buf; > - fields[2].out_mask = NULL; > + > fields[2].in_value = NULL; > fields[2].in_check_value = NULL; > fields[2].in_check_mask = NULL; > @@ -255,7 +255,7 @@ > fields[0].tap = jtag_info->tap; > fields[0].num_bits = 32; > fields[0].out_value = value_buf; > - fields[0].out_mask = NULL; > + > fields[0].in_value = NULL; > fields[0].in_check_value = NULL; > fields[0].in_check_mask = NULL; > @@ -265,7 +265,7 @@ > fields[1].tap = jtag_info->tap; > fields[1].num_bits = 6; > fields[1].out_value = ®_addr_buf; > - fields[1].out_mask = NULL; > + > fields[1].in_value = NULL; > fields[1].in_check_value = NULL; > fields[1].in_check_mask = NULL; > @@ -275,7 +275,7 @@ > fields[2].tap = jtag_info->tap; > fields[2].num_bits = 1; > fields[2].out_value = &nr_w_buf; > - fields[2].out_mask = NULL; > + > fields[2].in_value = NULL; > fields[2].in_check_value = NULL; > fields[2].in_check_mask = NULL; > Index: C:/workspace/openocd/src/target/arm9tdmi.c > =================================================================== > --- C:/workspace/openocd/src/target/arm9tdmi.c (revision 1607) > +++ C:/workspace/openocd/src/target/arm9tdmi.c (working copy) > @@ -128,7 +128,7 @@ > fields[0].tap = arm7_9->jtag_info.tap; > fields[0].num_bits = 32; > fields[0].out_value = NULL; > - fields[0].out_mask = NULL; > + > fields[0].in_value = databus; > fields[0].in_check_value = NULL; > fields[0].in_check_mask = NULL; > @@ -138,7 +138,7 @@ > fields[1].tap = arm7_9->jtag_info.tap; > fields[1].num_bits = 3; > fields[1].out_value = NULL; > - fields[1].out_mask = NULL; > + > fields[1].in_value = &debug_reason; > fields[1].in_check_value = NULL; > fields[1].in_check_mask = NULL; > @@ -148,7 +148,7 @@ > fields[2].tap = arm7_9->jtag_info.tap; > fields[2].num_bits = 32; > fields[2].out_value = NULL; > - fields[2].out_mask = NULL; > + > fields[2].in_value = instructionbus; > fields[2].in_check_value = NULL; > fields[2].in_check_mask = NULL; > @@ -216,7 +216,7 @@ > fields[0].tap = jtag_info->tap; > fields[0].num_bits = 32; > fields[0].out_value = out_buf; > - fields[0].out_mask = NULL; > + > fields[0].in_value = NULL; > if (in) > { > @@ -234,7 +234,7 @@ > fields[1].tap = jtag_info->tap; > fields[1].num_bits = 3; > fields[1].out_value = &sysspeed_buf; > - fields[1].out_mask = NULL; > + > fields[1].in_value = NULL; > fields[1].in_check_value = NULL; > fields[1].in_check_mask = NULL; > @@ -244,7 +244,7 @@ > fields[2].tap = jtag_info->tap; > fields[2].num_bits = 32; > fields[2].out_value = instr_buf; > - fields[2].out_mask = NULL; > + > fields[2].in_value = NULL; > fields[2].in_check_value = NULL; > fields[2].in_check_mask = NULL; > @@ -291,7 +291,7 @@ > fields[0].tap = jtag_info->tap; > fields[0].num_bits = 32; > fields[0].out_value = NULL; > - fields[0].out_mask = NULL; > + > 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; > @@ -301,7 +301,7 @@ > fields[1].tap = jtag_info->tap; > fields[1].num_bits = 3; > fields[1].out_value = NULL; > - fields[1].out_mask = NULL; > + > fields[1].in_value = NULL; > fields[1].in_handler = NULL; > fields[1].in_handler_priv = NULL; > @@ -311,7 +311,7 @@ > fields[2].tap = jtag_info->tap; > fields[2].num_bits = 32; > fields[2].out_value = NULL; > - fields[2].out_mask = NULL; > + > fields[2].in_value = NULL; > fields[2].in_check_value = NULL; > fields[2].in_check_mask = NULL; > @@ -363,7 +363,7 @@ > fields[0].tap = jtag_info->tap; > fields[0].num_bits = 32; > fields[0].out_value = NULL; > - fields[0].out_mask = NULL; > + > fields[0].in_value = NULL; > switch (size) > { > @@ -384,7 +384,7 @@ > fields[1].tap = jtag_info->tap; > fields[1].num_bits = 3; > fields[1].out_value = NULL; > - fields[1].out_mask = NULL; > + > fields[1].in_value = NULL; > fields[1].in_handler = NULL; > fields[1].in_handler_priv = NULL; > @@ -394,7 +394,7 @@ > fields[2].tap = jtag_info->tap; > fields[2].num_bits = 32; > fields[2].out_value = NULL; > - fields[2].out_mask = NULL; > + > fields[2].in_value = NULL; > fields[2].in_check_value = NULL; > fields[2].in_check_mask = NULL; > Index: C:/workspace/openocd/src/target/arm_adi_v5.c > =================================================================== > --- C:/workspace/openocd/src/target/arm_adi_v5.c (revision 1607) > +++ C:/workspace/openocd/src/target/arm_adi_v5.c (working copy) > @@ -76,7 +76,7 @@ > fields[0].num_bits = 3; > buf_set_u32(&out_addr_buf, 0, 3, ((reg_addr >> 1) & 0x6) | (RnW & 0x1)); > fields[0].out_value = &out_addr_buf; > - fields[0].out_mask = NULL; > + > fields[0].in_value = ack; > fields[0].in_check_value = NULL; > fields[0].in_check_mask = NULL; > @@ -86,7 +86,7 @@ > fields[1].tap = jtag_info->tap; > fields[1].num_bits = 32; > fields[1].out_value = outvalue; > - fields[1].out_mask = NULL; > + > fields[1].in_value = invalue; > fields[1].in_handler = NULL; > fields[1].in_handler_priv = NULL; > @@ -112,7 +112,7 @@ > fields[0].num_bits = 3; > buf_set_u32(&out_addr_buf, 0, 3, ((reg_addr >> 1) & 0x6) | (RnW & 0x1)); > fields[0].out_value = &out_addr_buf; > - fields[0].out_mask = NULL; > + > fields[0].in_value = ack; > fields[0].in_check_value = NULL; > fields[0].in_check_mask = NULL; > @@ -123,7 +123,7 @@ > fields[1].num_bits = 32; > buf_set_u32(out_value_buf, 0, 32, outvalue); > fields[1].out_value = out_value_buf; > - fields[1].out_mask = NULL; > + > fields[1].in_value = NULL; > if (invalue) > { > Index: C:/workspace/openocd/src/target/arm_jtag.c > =================================================================== > --- C:/workspace/openocd/src/target/arm_jtag.c (revision 1607) > +++ C:/workspace/openocd/src/target/arm_jtag.c (working copy) > @@ -52,7 +52,7 @@ > 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; > Index: C:/workspace/openocd/src/target/avrt.c > =================================================================== > --- C:/workspace/openocd/src/target/avrt.c (revision 1607) > +++ C:/workspace/openocd/src/target/avrt.c (working copy) > @@ -232,7 +232,6 @@ > field[0].tap = tap; > field[0].num_bits = tap->ir_length; > field[0].out_value = ir_out; > - field[0].out_mask = NULL; > field[0].in_value = ir_in; > field[0].in_check_value = NULL; > field[0].in_check_mask = NULL; > @@ -258,7 +257,6 @@ > field[0].tap = tap; > field[0].num_bits = dr_len; > field[0].out_value = dr_out; > - field[0].out_mask = NULL; > field[0].in_value = dr_in; > field[0].in_check_value = NULL; > field[0].in_check_mask = NULL; > Index: C:/workspace/openocd/src/target/embeddedice.c > =================================================================== > --- C:/workspace/openocd/src/target/embeddedice.c (revision 1607) > +++ C:/workspace/openocd/src/target/embeddedice.c (working copy) > @@ -251,7 +251,7 @@ > fields[0].tap = ice_reg->jtag_info->tap; > fields[0].num_bits = 32; > fields[0].out_value = reg->value; > - fields[0].out_mask = NULL; > + > fields[0].in_value = NULL; > fields[0].in_check_value = NULL; > fields[0].in_check_mask = NULL; > @@ -262,7 +262,7 @@ > fields[1].num_bits = 5; > fields[1].out_value = field1_out; > buf_set_u32(fields[1].out_value, 0, 5, reg_addr); > - fields[1].out_mask = NULL; > + > fields[1].in_value = NULL; > fields[1].in_check_value = NULL; > fields[1].in_check_mask = NULL; > @@ -273,7 +273,7 @@ > fields[2].num_bits = 1; > fields[2].out_value = field2_out; > buf_set_u32(fields[2].out_value, 0, 1, 0); > - fields[2].out_mask = NULL; > + > fields[2].in_value = NULL; > fields[2].in_check_value = NULL; > fields[2].in_check_mask = NULL; > @@ -313,7 +313,7 @@ > fields[0].tap = jtag_info->tap; > fields[0].num_bits = 32; > fields[0].out_value = NULL; > - fields[0].out_mask = NULL; > + > fields[0].in_value = NULL; > fields[0].in_check_value = NULL; > fields[0].in_check_mask = NULL; > @@ -324,7 +324,7 @@ > fields[1].num_bits = 5; > fields[1].out_value = field1_out; > buf_set_u32(fields[1].out_value, 0, 5, > embeddedice_reg_arch_info[EICE_COMMS_DATA]); > - fields[1].out_mask = NULL; > + > fields[1].in_value = NULL; > fields[1].in_check_value = NULL; > fields[1].in_check_mask = NULL; > @@ -335,7 +335,7 @@ > fields[2].num_bits = 1; > fields[2].out_value = field2_out; > buf_set_u32(fields[2].out_value, 0, 1, 0); > - fields[2].out_mask = NULL; > + > fields[2].in_value = NULL; > fields[2].in_check_value = NULL; > fields[2].in_check_mask = NULL; > @@ -430,7 +430,7 @@ > fields[0].tap = jtag_info->tap; > fields[0].num_bits = 32; > fields[0].out_value = field0_out; > - fields[0].out_mask = NULL; > + > fields[0].in_value = NULL; > fields[0].in_check_value = NULL; > fields[0].in_check_mask = NULL; > @@ -441,7 +441,7 @@ > fields[1].num_bits = 5; > fields[1].out_value = field1_out; > buf_set_u32(fields[1].out_value, 0, 5, > embeddedice_reg_arch_info[EICE_COMMS_DATA]); > - fields[1].out_mask = NULL; > + > fields[1].in_value = NULL; > fields[1].in_check_value = NULL; > fields[1].in_check_mask = NULL; > @@ -452,7 +452,7 @@ > fields[2].num_bits = 1; > fields[2].out_value = field2_out; > buf_set_u32(fields[2].out_value, 0, 1, 1); > - fields[2].out_mask = NULL; > + > fields[2].in_value = NULL; > fields[2].in_check_value = NULL; > fields[2].in_check_mask = NULL; > @@ -499,7 +499,7 @@ > fields[0].tap = jtag_info->tap; > fields[0].num_bits = 32; > fields[0].out_value = NULL; > - fields[0].out_mask = NULL; > + > fields[0].in_value = field0_in; > fields[0].in_check_value = NULL; > fields[0].in_check_mask = NULL; > @@ -510,7 +510,7 @@ > fields[1].num_bits = 5; > fields[1].out_value = field1_out; > buf_set_u32(fields[1].out_value, 0, 5, > embeddedice_reg_arch_info[EICE_COMMS_CTRL]); > - fields[1].out_mask = NULL; > + > fields[1].in_value = NULL; > fields[1].in_check_value = NULL; > fields[1].in_check_mask = NULL; > @@ -521,7 +521,7 @@ > fields[2].num_bits = 1; > fields[2].out_value = field2_out; > buf_set_u32(fields[2].out_value, 0, 1, 0); > - fields[2].out_mask = NULL; > + > fields[2].in_value = NULL; > fields[2].in_check_value = NULL; > fields[2].in_check_mask = NULL; > Index: C:/workspace/openocd/src/target/etb.c > =================================================================== > --- C:/workspace/openocd/src/target/etb.c (revision 1607) > +++ C:/workspace/openocd/src/target/etb.c (working copy) > @@ -70,7 +70,7 @@ > 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.out_mask = NULL; > + > field.in_value = NULL; > field.in_check_value = NULL; > field.in_check_mask = NULL; > @@ -95,7 +95,7 @@ > field.num_bits = 5; > field.out_value = calloc(CEIL(field.num_bits, 8), 1); > buf_set_u32(field.out_value, 0, field.num_bits, new_scan_chain); > - field.out_mask = NULL; > + > field.in_value = NULL; > field.in_check_value = NULL; > field.in_check_mask = NULL; > @@ -186,7 +186,7 @@ > fields[0].tap = etb->tap; > fields[0].num_bits = 32; > fields[0].out_value = NULL; > - fields[0].out_mask = NULL; > + > fields[0].in_value = NULL; > fields[0].in_check_value = NULL; > fields[0].in_check_mask = NULL; > @@ -197,7 +197,7 @@ > fields[1].num_bits = 7; > fields[1].out_value = malloc(1); > buf_set_u32(fields[1].out_value, 0, 7, 4); > - fields[1].out_mask = NULL; > + > fields[1].in_value = NULL; > fields[1].in_check_value = NULL; > fields[1].in_check_mask = NULL; > @@ -208,7 +208,7 @@ > fields[2].num_bits = 1; > fields[2].out_value = malloc(1); > buf_set_u32(fields[2].out_value, 0, 1, 0); > - fields[2].out_mask = NULL; > + > fields[2].in_value = NULL; > fields[2].in_check_value = NULL; > fields[2].in_check_mask = NULL; > @@ -257,7 +257,7 @@ > fields[0].tap = etb_reg->etb->tap; > fields[0].num_bits = 32; > fields[0].out_value = reg->value; > - fields[0].out_mask = NULL; > + > fields[0].in_value = NULL; > fields[0].in_check_value = NULL; > fields[0].in_check_mask = NULL; > @@ -268,7 +268,7 @@ > fields[1].num_bits = 7; > fields[1].out_value = malloc(1); > buf_set_u32(fields[1].out_value, 0, 7, reg_addr); > - fields[1].out_mask = NULL; > + > fields[1].in_value = NULL; > fields[1].in_check_value = NULL; > fields[1].in_check_mask = NULL; > @@ -279,7 +279,7 @@ > fields[2].num_bits = 1; > fields[2].out_value = malloc(1); > buf_set_u32(fields[2].out_value, 0, 1, 0); > - fields[2].out_mask = NULL; > + > fields[2].in_value = NULL; > fields[2].in_check_value = NULL; > fields[2].in_check_mask = NULL; > @@ -354,7 +354,7 @@ > fields[0].num_bits = 32; > fields[0].out_value = malloc(4); > buf_set_u32(fields[0].out_value, 0, 32, value); > - fields[0].out_mask = NULL; > + > fields[0].in_value = NULL; > fields[0].in_check_value = NULL; > fields[0].in_check_mask = NULL; > @@ -365,7 +365,7 @@ > fields[1].num_bits = 7; > fields[1].out_value = malloc(1); > buf_set_u32(fields[1].out_value, 0, 7, reg_addr); > - fields[1].out_mask = NULL; > + > fields[1].in_value = NULL; > fields[1].in_check_value = NULL; > fields[1].in_check_mask = NULL; > @@ -376,7 +376,7 @@ > fields[2].num_bits = 1; > fields[2].out_value = malloc(1); > buf_set_u32(fields[2].out_value, 0, 1, 1); > - fields[2].out_mask = NULL; > + > fields[2].in_value = NULL; > fields[2].in_check_value = NULL; > fields[2].in_check_mask = NULL; > Index: C:/workspace/openocd/src/target/etm.c > =================================================================== > --- C:/workspace/openocd/src/target/etm.c (revision 1607) > +++ C:/workspace/openocd/src/target/etm.c (working copy) > @@ -339,7 +339,7 @@ > fields[0].tap = etm_reg->jtag_info->tap; > fields[0].num_bits = 32; > fields[0].out_value = reg->value; > - fields[0].out_mask = NULL; > + > fields[0].in_value = NULL; > fields[0].in_check_value = NULL; > fields[0].in_check_mask = NULL; > @@ -350,7 +350,7 @@ > fields[1].num_bits = 7; > fields[1].out_value = malloc(1); > buf_set_u32(fields[1].out_value, 0, 7, reg_addr); > - fields[1].out_mask = NULL; > + > fields[1].in_value = NULL; > fields[1].in_check_value = NULL; > fields[1].in_check_mask = NULL; > @@ -361,7 +361,7 @@ > fields[2].num_bits = 1; > fields[2].out_value = malloc(1); > buf_set_u32(fields[2].out_value, 0, 1, 0); > - fields[2].out_mask = NULL; > + > fields[2].in_value = NULL; > fields[2].in_check_value = NULL; > fields[2].in_check_mask = NULL; > @@ -431,7 +431,7 @@ > fields[0].num_bits = 32; > fields[0].out_value = malloc(4); > buf_set_u32(fields[0].out_value, 0, 32, value); > - fields[0].out_mask = NULL; > + > fields[0].in_value = NULL; > fields[0].in_check_value = NULL; > fields[0].in_check_mask = NULL; > @@ -442,7 +442,7 @@ > fields[1].num_bits = 7; > fields[1].out_value = malloc(1); > buf_set_u32(fields[1].out_value, 0, 7, reg_addr); > - fields[1].out_mask = NULL; > + > fields[1].in_value = NULL; > fields[1].in_check_value = NULL; > fields[1].in_check_mask = NULL; > @@ -453,7 +453,7 @@ > fields[2].num_bits = 1; > fields[2].out_value = malloc(1); > buf_set_u32(fields[2].out_value, 0, 1, 1); > - fields[2].out_mask = NULL; > + > fields[2].in_value = NULL; > fields[2].in_check_value = NULL; > fields[2].in_check_mask = NULL; > Index: C:/workspace/openocd/src/target/feroceon.c > =================================================================== > --- C:/workspace/openocd/src/target/feroceon.c (revision 1607) > +++ C:/workspace/openocd/src/target/feroceon.c (working copy) > @@ -135,7 +135,7 @@ > fields[0].tap = jtag_info->tap; > fields[0].num_bits = 32; > fields[0].out_value = out_buf; > - fields[0].out_mask = NULL; > + > fields[0].in_value = NULL; > fields[0].in_handler = NULL; > fields[0].in_handler_priv = NULL; > @@ -145,7 +145,7 @@ > fields[1].tap = jtag_info->tap; > fields[1].num_bits = 3; > fields[1].out_value = &sysspeed_buf; > - fields[1].out_mask = NULL; > + > fields[1].in_value = NULL; > fields[1].in_check_value = NULL; > fields[1].in_check_mask = NULL; > @@ -155,7 +155,7 @@ > fields[2].tap = jtag_info->tap; > fields[2].num_bits = 32; > fields[2].out_value = instr_buf; > - fields[2].out_mask = NULL; > + > fields[2].in_value = NULL; > fields[2].in_check_value = NULL; > fields[2].in_check_mask = NULL; > Index: C:/workspace/openocd/src/target/mips_ejtag.c > =================================================================== > --- C:/workspace/openocd/src/target/mips_ejtag.c (revision 1607) > +++ C:/workspace/openocd/src/target/mips_ejtag.c (working copy) > @@ -49,7 +49,7 @@ > 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; > @@ -72,7 +72,7 @@ > 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; > @@ -99,7 +99,7 @@ > 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; > @@ -130,7 +130,7 @@ > 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; > Index: C:/workspace/openocd/src/target/xscale.c > =================================================================== > --- C:/workspace/openocd/src/target/xscale.c (revision 1607) > +++ C:/workspace/openocd/src/target/xscale.c (working copy) > @@ -225,7 +225,7 @@ > 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.out_mask = NULL; > + > field.in_value = NULL; > jtag_set_check_value(&field, tap->expected, tap->expected_mask, > NULL); > > @@ -261,7 +261,7 @@ > fields[0].tap = xscale->jtag_info.tap; > fields[0].num_bits = 3; > fields[0].out_value = &field0; > - fields[0].out_mask = NULL; > + > fields[0].in_value = NULL; > jtag_set_check_value(fields+0, &field0_check_value, &field0_check_mask, > NULL); > > @@ -268,7 +268,7 @@ > fields[1].tap = xscale->jtag_info.tap; > fields[1].num_bits = 32; > fields[1].out_value = NULL; > - fields[1].out_mask = NULL; > + > fields[1].in_value = xscale->reg_cache->reg_list[XSCALE_DCSR].value; > fields[1].in_handler = NULL; > fields[1].in_handler_priv = NULL; > @@ -278,7 +278,7 @@ > fields[2].tap = xscale->jtag_info.tap; > fields[2].num_bits = 1; > fields[2].out_value = &field2; > - fields[2].out_mask = NULL; > + > fields[2].in_value = NULL; > jtag_set_check_value(fields+2, &field2_check_value, &field2_check_mask, > NULL); > > @@ -339,7 +339,7 @@ > fields[0].tap = xscale->jtag_info.tap; > fields[0].num_bits = 3; > fields[0].out_value = NULL; > - fields[0].out_mask = NULL; > + > fields[0].in_value = NULL; > jtag_set_check_value(fields+0, &field0_check_value, &field0_check_mask, > NULL); > > @@ -346,7 +346,7 @@ > fields[1].tap = xscale->jtag_info.tap; > fields[1].num_bits = 32; > fields[1].out_value = NULL; > - fields[1].out_mask = NULL; > + > fields[1].in_value = NULL; > fields[1].in_handler = NULL; > fields[1].in_handler_priv = NULL; > @@ -356,7 +356,7 @@ > fields[2].tap = xscale->jtag_info.tap; > fields[2].num_bits = 1; > fields[2].out_value = NULL; > - fields[2].out_mask = NULL; > + > fields[2].in_value = NULL; > jtag_set_check_value(fields+2, &field2_check_value, &field2_check_mask, > NULL); > > @@ -458,7 +458,7 @@ > fields[0].tap = xscale->jtag_info.tap; > fields[0].num_bits = 3; > fields[0].out_value = NULL; > - fields[0].out_mask = NULL; > + > fields[0].in_value = &field0_in; > jtag_set_check_value(fields+0, &field0_check_value, &field0_check_mask, > NULL); > > @@ -465,7 +465,7 @@ > fields[1].tap = xscale->jtag_info.tap; > fields[1].num_bits = 32; > fields[1].out_value = NULL; > - fields[1].out_mask = NULL; > + > fields[1].in_value = xscale->reg_cache->reg_list[XSCALE_TX].value; > fields[1].in_handler = NULL; > fields[1].in_handler_priv = NULL; > @@ -475,7 +475,7 @@ > fields[2].tap = xscale->jtag_info.tap; > fields[2].num_bits = 1; > fields[2].out_value = NULL; > - fields[2].out_mask = NULL; > + > fields[2].in_value = NULL; > jtag_set_check_value(fields+2, &field2_check_value, &field2_check_mask, > NULL); > > @@ -554,7 +554,7 @@ > fields[0].tap = xscale->jtag_info.tap; > fields[0].num_bits = 3; > fields[0].out_value = &field0_out; > - fields[0].out_mask = NULL; > + > fields[0].in_value = &field0_in; > jtag_set_check_value(fields+0, &field0_check_value, &field0_check_mask, > NULL); > > @@ -561,7 +561,7 @@ > fields[1].tap = xscale->jtag_info.tap; > fields[1].num_bits = 32; > fields[1].out_value = xscale->reg_cache->reg_list[XSCALE_RX].value; > - fields[1].out_mask = NULL; > + > fields[1].in_value = NULL; > fields[1].in_handler = NULL; > fields[1].in_handler_priv = NULL; > @@ -571,7 +571,7 @@ > fields[2].tap = xscale->jtag_info.tap; > fields[2].num_bits = 1; > fields[2].out_value = &field2; > - fields[2].out_mask = NULL; > + > fields[2].in_value = NULL; > jtag_set_check_value(fields+2, &field2_check_value, &field2_check_mask, > NULL); > > @@ -729,7 +729,7 @@ > fields[0].tap = xscale->jtag_info.tap; > fields[0].num_bits = 3; > fields[0].out_value = &field0; > - fields[0].out_mask = NULL; > + > fields[0].in_value = NULL; > jtag_set_check_value(fields+0, &field0_check_value, &field0_check_mask, > NULL); > > @@ -736,7 +736,7 @@ > fields[1].tap = xscale->jtag_info.tap; > fields[1].num_bits = 32; > fields[1].out_value = xscale->reg_cache->reg_list[XSCALE_DCSR].value; > - fields[1].out_mask = NULL; > + > fields[1].in_value = NULL; > fields[1].in_handler = NULL; > fields[1].in_handler_priv = NULL; > @@ -746,7 +746,7 @@ > fields[2].tap = xscale->jtag_info.tap; > fields[2].num_bits = 1; > fields[2].out_value = &field2; > - fields[2].out_mask = NULL; > + > fields[2].in_value = NULL; > jtag_set_check_value(fields+2, &field2_check_value, &field2_check_mask, > NULL); > > @@ -805,7 +805,7 @@ > fields[0].tap = xscale->jtag_info.tap; > fields[0].num_bits = 6; > fields[0].out_value = &cmd; > - fields[0].out_mask = NULL; > + > fields[0].in_value = NULL; > fields[0].in_check_value = NULL; > fields[0].in_check_mask = NULL; > @@ -815,7 +815,7 @@ > fields[1].tap = xscale->jtag_info.tap; > fields[1].num_bits = 27; > fields[1].out_value = packet; > - fields[1].out_mask = NULL; > + > fields[1].in_value = NULL; > fields[1].in_check_value = NULL; > fields[1].in_check_mask = NULL; > @@ -863,7 +863,7 @@ > fields[0].tap = xscale->jtag_info.tap; > fields[0].num_bits = 6; > fields[0].out_value = &cmd; > - fields[0].out_mask = NULL; > + > fields[0].in_value = NULL; > fields[0].in_check_value = NULL; > fields[0].in_check_mask = NULL; > @@ -873,7 +873,7 @@ > fields[1].tap = xscale->jtag_info.tap; > fields[1].num_bits = 27; > fields[1].out_value = packet; > - fields[1].out_mask = NULL; > + > fields[1].in_value = NULL; > fields[1].in_check_value = NULL; > fields[1].in_check_mask = NULL; > Index: C:/workspace/openocd/src/xsvf/xsvf.c > =================================================================== > --- C:/workspace/openocd/src/xsvf/xsvf.c (revision 1607) > +++ C:/workspace/openocd/src/xsvf/xsvf.c (working copy) > @@ -486,7 +486,7 @@ > field.tap = tap; > field.num_bits = xsdrsize; > field.out_value = dr_out_buf; > - field.out_mask = NULL; > + > field.in_value = NULL; > > jtag_set_check_value(&field, dr_in_buf, > dr_in_mask, NULL); > @@ -705,7 +705,7 @@ > field.tap = tap; > field.num_bits = bitcount; > field.out_value = ir_buf; > - field.out_mask = NULL; > + > field.in_value = NULL; > field.in_check_value = NULL; > field.in_check_mask = NULL; > @@ -937,7 +937,7 @@ > field.tap = tap; > field.num_bits = xsdrsize; > field.out_value = dr_out_buf; > - field.out_mask = NULL; > + > field.in_value = NULL; > > if (attempt > 0 && verbose) _______________________________________________ Openocd-development mailing list Openocd-development@lists.berlios.de https://lists.berlios.de/mailman/listinfo/openocd-development