added jtag_alloc_in_value32 - not used in this commit.
authoroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Tue, 12 May 2009 06:59:21 +0000 (06:59 +0000)
committeroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Tue, 12 May 2009 06:59:21 +0000 (06:59 +0000)
git-svn-id: svn://svn.berlios.de/openocd/trunk@1752 b42882b7-edfa-0310-969c-e2dbd0fdcd60

src/jtag/jtag.c
src/jtag/jtag.h

index 27fe524846982e1e3edfaab5a35d20c4bb2e7a1f..d66a779d13f818fdd749f38b049d7b64c448c161 100644 (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>--------------------------------------*/
index e2c8df473b6cfc82acbb0757d2374b5e2958c685..84290ca7e189c0fc7288b4fb60618b209116d4db 100644 (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);

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)