*/
if (collecting_path) {
tap_state_t mystate;
- uint8_t uc;
switch (opcode) {
case XCOMMENT:
else
jtag_add_pathmove(pathlen, path);
- result = jtag_get_error();
+ result = jtag_execute_queue();
if (result != ERROR_OK) {
LOG_ERROR("XSVF: pathmove error %d",
result);
LOG_USER("%s mismatch, xsdrsize=%d retry=%d", op_name, xsdrsize, attempt);
}
- field.tap = tap;
field.num_bits = xsdrsize;
field.out_value = dr_out_buf;
field.in_value = calloc(DIV_ROUND_UP(field.num_bits, 8), 1);
if (tap == NULL)
- jtag_add_plain_dr_scan(1, &field, jtag_set_end_state(TAP_DRPAUSE));
+ jtag_add_plain_dr_scan(field.num_bits, field.out_value, field.in_value,
+ TAP_DRPAUSE);
else
- jtag_add_dr_scan(1, &field, jtag_set_end_state(TAP_DRPAUSE));
+ jtag_add_dr_scan(tap, 1, &field, TAP_DRPAUSE);
jtag_check_value_mask(&field, dr_in_buf, dr_in_mask);
case XSTATE:
{
tap_state_t mystate;
- uint8_t uc;
if (read(xsvf_fd, &uc, 1) < 0)
{
{
struct scan_field field;
- field.tap = tap;
field.num_bits = bitcount;
field.out_value = ir_buf;
if (tap == NULL)
- jtag_add_plain_ir_scan(1, &field, my_end_state);
+ jtag_add_plain_ir_scan(field.num_bits,
+ field.out_value, field.in_value, my_end_state);
else
- jtag_add_ir_scan(1, &field, my_end_state);
+ jtag_add_ir_scan(tap, &field, my_end_state);
if (xruntest)
{
jtag_add_clocks(loop_clocks);
jtag_add_sleep(loop_usecs);
- field.tap = tap;
field.num_bits = xsdrsize;
field.out_value = dr_out_buf;
field.in_value = calloc(DIV_ROUND_UP(field.num_bits, 8), 1);
LOG_USER("LSDR retry %d", attempt);
if (tap == NULL)
- jtag_add_plain_dr_scan(1, &field, jtag_set_end_state(TAP_DRPAUSE));
+ jtag_add_plain_dr_scan(field.num_bits, field.out_value, field.in_value,
+ TAP_DRPAUSE);
else
- jtag_add_dr_scan(1, &field, jtag_set_end_state(TAP_DRPAUSE));
+ jtag_add_dr_scan(tap, 1, &field, TAP_DRPAUSE);
jtag_check_value_mask(&field, dr_in_buf, dr_in_mask);
static const struct command_registration xsvf_command_handlers[] = {
{
.name = "xsvf",
- .handler = &handle_xsvf_command,
+ .handler = handle_xsvf_command,
.mode = COMMAND_EXEC,
.help = "Runs a XSVF file. If 'virt2' is given, xruntest "
"counts are interpreted as TCK cycles rather than "
"as microseconds. Without the 'quiet' option, all "
"comments, retries, and mismatches will be reported.",
- .usage = "<file> [virt2] [quiet]",
+ .usage = "(tapname|'plain') filename ['virt2'] ['quiet']",
},
COMMAND_REGISTRATION_DONE
};