added jtag_alloc_in_value32 - not used in this commit.

git-svn-id: svn://svn.berlios.de/openocd/trunk@1752 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
oharboe 2009-05-12 06:59:21 +00:00
parent 9bbd933eae
commit 71d76b0a74
2 changed files with 30 additions and 2 deletions

View File

@ -718,7 +718,7 @@ static void jtag_add_scan_check(void (*jtag_add_scan)(int num_fields, scan_field
if (fields[i].num_bits<=32)
{
/* This is enough space and we're executing this synchronously */
fields[i].in_value=(u8 *)&fields[i].intmp;
fields[i].in_value=fields[i].intmp;
} else
{
fields[i].in_value=(u8 *)malloc(CEIL(fields[i].num_bits, 8));
@ -3562,4 +3562,12 @@ tap_state_t jtag_debug_state_machine(const void *tms_buf, const void *tdi_buf,
}
#endif // _DEBUG_JTAG_IO_
#ifndef HAVE_JTAG_MINIDRIVER_H
void jtag_alloc_in_value32(scan_field_t *field)
{
field->in_value=(u8 *)cmd_queue_alloc(4);
}
#endif
/*-----</Cable Helper API>--------------------------------------*/

View File

@ -277,7 +277,7 @@ typedef struct scan_field_s
/* internal work space */
int allocated; /* in_value has been allocated for the queue */
int modified; /* did we modify the in_value? */
u32 intmp; /* temporary storage for checking synchronously */
u8 intmp[4]; /* temporary storage for checking synchronously */
} scan_field_t;
enum scan_type {
@ -565,6 +565,26 @@ extern void jtag_add_ir_scan_noverify(int num_fields, scan_field_t *fields, tap_
extern int interface_jtag_add_ir_scan(int num_fields, scan_field_t* fields, tap_state_t endstate);
extern void jtag_add_dr_scan(int num_fields, scan_field_t* fields, tap_state_t endstate);
/* set in_value to point to 32 bits of memory to scan into. This function
* is a way to handle the case of synchronous and asynchronous
* JTAG queues.
*
* In the event of an asynchronous queue execution the queue buffer
* allocation method is used, for the synchronous case the temporary 32 bits come
* from the input field itself.
*/
#ifndef HAVE_JTAG_MINIDRIVER_H
extern void jtag_alloc_in_value32(scan_field_t *field);
#else
static __inline__ void jtag_alloc_in_value32(scan_field_t *field)
{
field->in_value=field->intmp;
}
#endif
/* This version of jtag_add_dr_scan() uses the check_value/mask fields */
extern void jtag_add_dr_scan_check(int num_fields, scan_field_t* fields, tap_state_t endstate);
extern int interface_jtag_add_dr_scan(int num_fields, scan_field_t* fields, tap_state_t endstate);