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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
{
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)
{
/* 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;
}
(*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;
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;
/* 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;
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;
/* 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;
(*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;
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;
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;
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;
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;
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 */
/* 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;
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;
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;
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;
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;
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;
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;
{
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;
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;
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)
{
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;
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;
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;
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;
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;
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)
{
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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)
{
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;
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;
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;
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;
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;
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)
{
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;
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;
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;
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;
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;
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)
{
field.num_bits = tap->ir_length;
field.out_value = t;
buf_set_u32(field.out_value, 0, field.num_bits, new_instr);
- field.out_mask = NULL;
+
field.in_value = NULL;
field.in_check_value = NULL;
field.in_check_mask = NULL;
field[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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
field.num_bits = tap->ir_length;
field.out_value = t;
buf_set_u32(field.out_value, 0, field.num_bits, new_instr);
- field.out_mask = NULL;
+
field.in_value = NULL;
field.in_check_value = NULL;
field.in_check_mask = NULL;
field.tap = ejtag_info->tap;
field.num_bits = 32;
field.out_value = NULL;
- field.out_mask = NULL;
+
field.in_value = (void*)idcode;
field.in_check_value = NULL;
field.in_check_mask = NULL;
field.tap = ejtag_info->tap;
field.num_bits = 32;
field.out_value = NULL;
- field.out_mask = NULL;
+
field.in_value = (void*)impcode;
field.in_check_value = NULL;
field.in_check_mask = NULL;
field.num_bits = 32;
field.out_value = t;
buf_set_u32(field.out_value, 0, field.num_bits, *data);
- field.out_mask = NULL;
+
field.in_value = (u8*)data;
field.in_check_value = NULL;
field.in_check_mask = NULL;
field.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);
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);
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;
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);
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);
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;
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);
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);
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;
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);
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);
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;
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);
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);
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;
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);
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;
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;
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;
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;
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);
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;
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)