diff options
-rw-r--r-- | src/jtag/jtag.c | 21 | ||||
-rw-r--r-- | src/jtag/jtag.h | 2 | ||||
-rw-r--r-- | src/jtag/jtag_driver.c | 6 | ||||
-rw-r--r-- | src/jtag/zy1000.c | 12 |
4 files changed, 20 insertions, 21 deletions
diff --git a/src/jtag/jtag.c b/src/jtag/jtag.c index af07e78a..593200ee 100644 --- a/src/jtag/jtag.c +++ b/src/jtag/jtag.c @@ -594,27 +594,6 @@ static int jtag_check_value_mask_callback(u8 *in, jtag_callback_data_t data1, jt return jtag_check_value_inner(in, (u8 *)data1, (u8 *)data2, (int)data3); } -#ifdef HAVE_JTAG_MINIDRIVER_H -void interface_jtag_add_scan_check_alloc(scan_field_t *field) -{ - /* We're executing this synchronously, so try to use local storage. */ - if (field->num_bits > 32) - { - unsigned num_bytes = TAP_SCAN_BYTES(field->num_bits); - field->in_value = (u8 *)malloc(num_bytes); - field->allocated = 1; - } - else - field->in_value = field->intmp; -} -#else -void interface_jtag_add_scan_check_alloc(scan_field_t *field) -{ - unsigned num_bytes = TAP_SCAN_BYTES(field->num_bits); - field->in_value = (u8 *)cmd_queue_alloc(num_bytes); -} -#endif - static void jtag_add_scan_check(void (*jtag_add_scan)(int in_num_fields, const scan_field_t *in_fields, tap_state_t state), int in_num_fields, scan_field_t *in_fields, tap_state_t state) { diff --git a/src/jtag/jtag.h b/src/jtag/jtag.h index 9298e896..bc7ce93d 100644 --- a/src/jtag/jtag.h +++ b/src/jtag/jtag.h @@ -843,6 +843,8 @@ void jtag_tap_handle_event(jtag_tap_t* tap, enum jtag_tap_event e); #ifdef INCLUDE_JTAG_MINIDRIVER_H +extern void interface_jtag_add_scan_check_alloc(scan_field_t *field); + extern int interface_jtag_add_ir_scan( int num_fields, const scan_field_t* fields, tap_state_t endstate); diff --git a/src/jtag/jtag_driver.c b/src/jtag/jtag_driver.c index d5323596..f22b1a8d 100644 --- a/src/jtag/jtag_driver.c +++ b/src/jtag/jtag_driver.c @@ -499,6 +499,12 @@ void jtag_add_callback(jtag_callback1_t callback, u8 *in) jtag_add_callback4(jtag_convert_to_callback4, in, (jtag_callback_data_t)callback, 0, 0); } +void interface_jtag_add_scan_check_alloc(scan_field_t *field) +{ + unsigned num_bytes = TAP_SCAN_BYTES(field->num_bits); + field->in_value = (u8 *)cmd_queue_alloc(num_bytes); +} + int interface_jtag_execute_queue(void) { int retval = default_interface_jtag_execute_queue(); diff --git a/src/jtag/zy1000.c b/src/jtag/zy1000.c index cfe40f4c..788f379d 100644 --- a/src/jtag/zy1000.c +++ b/src/jtag/zy1000.c @@ -380,6 +380,18 @@ int zy1000_quit(void) } +void interface_jtag_add_scan_check_alloc(scan_field_t *field) +{ + /* We're executing this synchronously, so try to use local storage. */ + if (field->num_bits > 32) + { + unsigned num_bytes = TAP_SCAN_BYTES(field->num_bits); + field->in_value = (u8 *)malloc(num_bytes); + field->allocated = 1; + } + else + field->in_value = field->intmp; +} int interface_jtag_execute_queue(void) |