}
-static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(handle_xsvf_command)
{
uint8_t *dr_out_buf = NULL; /* from host to device (TDI) */
uint8_t *dr_in_buf = NULL; /* from device to host (TDO) */
int tdo_mismatch = 0;
int result;
int verbose = 1;
- char *filename;
bool collecting_path = false;
tap_state_t path[XSTATE_MAX_PATH];
additional devices in the scan chain, otherwise the device
that should be affected
*/
- jtag_tap_t *tap = NULL;
+ struct jtag_tap *tap = NULL;
- if (argc < 2)
+ if (CMD_ARGC < 2)
{
command_print(cmd_ctx, "usage: xsvf <device#|plain> <file> [<variant>] [quiet]");
return ERROR_FAIL;
}
- filename = args[1]; /* we mess with args starting point below, snapshot filename here */
+ /* we mess with args starting point below, snapshot filename here */
+ const char *filename = args[1];
if (strcmp(args[0], "plain") != 0)
{
}
/* if this argument is present, then interpret xruntest counts as TCK cycles rather than as usecs */
- if ((argc > 2) && (strcmp(args[2], "virt2") == 0))
+ if ((CMD_ARGC > 2) && (strcmp(args[2], "virt2") == 0))
{
runtest_requires_tck = 1;
- --argc;
+ --CMD_ARGC;
++args;
}
- if ((argc > 2) && (strcmp(args[2], "quiet") == 0))
+ if ((CMD_ARGC > 2) && (strcmp(args[2], "quiet") == 0))
{
verbose = 0;
}
for (attempt = 0; attempt < limit; ++attempt)
{
- scan_field_t field;
+ struct scan_field field;
if (attempt > 0)
{
TAP_IDLE,
};
- jtag_add_pathmove(DIM(exception_path), exception_path);
+ jtag_add_pathmove(ARRAY_SIZE(exception_path), exception_path);
if (verbose)
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(CEIL(field.num_bits, 8), 1);
+ 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));
do_abort = 1;
else
{
- scan_field_t field;
+ struct scan_field field;
field.tap = tap;
field.num_bits = bitcount;
for (attempt = 0; attempt < limit; ++attempt)
{
- scan_field_t field;
+ struct scan_field field;
result = svf_add_statemove(loop_state);
jtag_add_clocks(loop_clocks);
field.tap = tap;
field.num_bits = xsdrsize;
field.out_value = dr_out_buf;
- field.in_value = calloc(CEIL(field.num_bits, 8), 1);
+ field.in_value = calloc(DIV_ROUND_UP(field.num_bits, 8), 1);
if (attempt > 0 && verbose)
LOG_USER("LSDR retry %d", attempt);
return ERROR_OK;
}
-int xsvf_register_commands(struct command_context_s *cmd_ctx)
+int xsvf_register_commands(struct command_context *cmd_ctx)
{
register_command(cmd_ctx, NULL, "xsvf",
&handle_xsvf_command, COMMAND_EXEC,