]> git.sur5r.net Git - openocd/commitdiff
retire jtag_set_check_value
authoroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Fri, 8 May 2009 07:28:00 +0000 (07:28 +0000)
committeroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Fri, 8 May 2009 07:28:00 +0000 (07:28 +0000)
git-svn-id: svn://svn.berlios.de/openocd/trunk@1668 b42882b7-edfa-0310-969c-e2dbd0fdcd60

src/xsvf/xsvf.c

index 24a14de72f03dfea3b51e06ccd80f930deb504e4..0e3152daa61ecdb2c8a65a7b268fa9f544d12584 100644 (file)
@@ -501,16 +501,18 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha
                                        field.tap = tap;
                                        field.num_bits = xsdrsize;
                                        field.out_value = dr_out_buf;
-                                       
-                                       field.in_value = NULL;
-
-                                       jtag_set_check_value(&field, dr_in_buf, dr_in_mask, NULL);
+                                       field.in_value = calloc(CEIL(field.num_bits, 8), 1);
 
                                        if (tap == NULL)
                                                jtag_add_plain_dr_scan(1, &field, TAP_DRPAUSE);
                                        else
                                                jtag_add_dr_scan(1, &field, TAP_DRPAUSE);
 
+                                       jtag_check_value_mask(&field, dr_in_buf, dr_in_mask);
+
+                                       free(field.in_value);
+
+
                                        /* LOG_DEBUG("FLUSHING QUEUE"); */
                                        result = jtag_execute_queue();
                                        if (result == ERROR_OK)
@@ -713,10 +715,10 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha
                                        field.tap = tap;
                                        field.num_bits = bitcount;
                                        field.out_value = ir_buf;
-                                       
+
                                        field.in_value = NULL;
-                                       
-                                       
+
+
                                        field.in_handler = NULL;
 
                                        if (tap == NULL)
@@ -944,18 +946,21 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha
                                        field.tap = tap;
                                        field.num_bits = xsdrsize;
                                        field.out_value = dr_out_buf;
-                                       
-                                       field.in_value = NULL;
+                                       field.in_value = calloc(CEIL(field.num_bits, 8), 1);
 
                                        if (attempt > 0 && verbose)
                                                LOG_USER("LSDR retry %d", attempt);
 
-                                       jtag_set_check_value(&field, dr_in_buf, dr_in_mask, NULL);
                                        if (tap == NULL)
                                                jtag_add_plain_dr_scan(1, &field, TAP_DRPAUSE);
                                        else
                                                jtag_add_dr_scan(1, &field, TAP_DRPAUSE);
 
+                                       jtag_check_value_mask(&field, dr_in_buf, dr_in_mask);
+
+                                       free(field.in_value);
+
+
                                        /* LOG_DEBUG("FLUSHING QUEUE"); */
                                        result = jtag_execute_queue();
                                        if(result == ERROR_OK)