Committed.



-- 
Øyvind Harboe
Embedded software and hardware consulting services
http://consulting.zylin.com
### Eclipse Workspace Patch 1.0
#P openocd
Index: src/jtag/driver.c
===================================================================
--- src/jtag/driver.c   (revision 2284)
+++ src/jtag/driver.c   (working copy)
@@ -40,7 +40,7 @@
        struct jtag_callback_entry *next;
 
        jtag_callback_t callback;
-       uint8_t *in;
+       jtag_callback_data_t data0;
        jtag_callback_data_t data1;
        jtag_callback_data_t data2;
        jtag_callback_data_t data3;
@@ -465,13 +465,13 @@
 }
 
 /* add callback to end of queue */
-void interface_jtag_add_callback4(jtag_callback_t callback, uint8_t *in, 
jtag_callback_data_t data1, jtag_callback_data_t data2, jtag_callback_data_t 
data3)
+void interface_jtag_add_callback4(jtag_callback_t callback, 
jtag_callback_data_t data0, jtag_callback_data_t data1, jtag_callback_data_t 
data2, jtag_callback_data_t data3)
 {
        struct jtag_callback_entry *entry=cmd_queue_alloc(sizeof(struct 
jtag_callback_entry));
 
        entry->next=NULL;
        entry->callback=callback;
-       entry->in=in;
+       entry->data0=data0;
        entry->data1=data1;
        entry->data2=data2;
        entry->data3=data3;
@@ -495,7 +495,7 @@
                struct jtag_callback_entry *entry;
                for (entry=jtag_callback_queue_head; entry!=NULL; 
entry=entry->next)
                {
-                       retval=entry->callback(entry->in, entry->data1, 
entry->data2, entry->data3);
+                       retval=entry->callback(entry->data0, entry->data1, 
entry->data2, entry->data3);
                        if (retval!=ERROR_OK)
                                break;
                }
@@ -507,14 +507,14 @@
        return retval;
 }
 
-static int jtag_convert_to_callback4(uint8_t *in, jtag_callback_data_t data1, 
jtag_callback_data_t data2, jtag_callback_data_t data3)
+static int jtag_convert_to_callback4(jtag_callback_data_t data0, 
jtag_callback_data_t data1, jtag_callback_data_t data2, jtag_callback_data_t 
data3)
 {
-       ((jtag_callback1_t)data1)(in);
+       ((jtag_callback1_t)data1)(data0);
        return ERROR_OK;
 }
 
-void interface_jtag_add_callback(jtag_callback1_t callback, uint8_t *in)
+void interface_jtag_add_callback(jtag_callback1_t callback, 
jtag_callback_data_t data0)
 {
-       jtag_add_callback4(jtag_convert_to_callback4, in, 
(jtag_callback_data_t)callback, 0, 0);
+       jtag_add_callback4(jtag_convert_to_callback4, data0, 
(jtag_callback_data_t)callback, 0, 0);
 }
 
Index: src/target/arm720t.c
===================================================================
--- src/target/arm720t.c        (revision 2284)
+++ src/target/arm720t.c        (working copy)
@@ -120,7 +120,7 @@
        {
                fields[1].in_value = (uint8_t *)in;
                jtag_add_dr_scan(2, fields, jtag_get_end_state());
-               jtag_add_callback(arm7flip32, (uint8_t *)in);
+               jtag_add_callback(arm7flip32, (jtag_callback_data_t)in);
        } else
        {
                jtag_add_dr_scan(2, fields, jtag_get_end_state());
Index: src/pld/virtex2.c
===================================================================
--- src/pld/virtex2.c   (revision 2284)
+++ src/pld/virtex2.c   (working copy)
@@ -88,8 +88,9 @@
        return ERROR_OK;
 }
 
-static __inline__ void virtexflip32(uint8_t *in)
+static __inline__ void virtexflip32(jtag_callback_data_t arg)
 {
+  uint8_t *in=(uint8_t *)arg;
        *((uint32_t *)in) = flip_u32(le_to_h_u32(in), 32);
 }
 
@@ -112,7 +113,7 @@
 
                jtag_add_dr_scan(1, &scan_field, 
jtag_set_end_state(TAP_DRPAUSE));
 
-               jtag_add_callback(virtexflip32, (uint8_t *)words);
+               jtag_add_callback(virtexflip32, (jtag_callback_data_t)words);
 
                words++;;
        }
Index: src/target/arm_adi_v5.c
===================================================================
--- src/target/arm_adi_v5.c     (revision 2284)
+++ src/target/arm_adi_v5.c     (working copy)
@@ -132,7 +132,7 @@
                fields[1].in_value = (uint8_t *)invalue;
                jtag_add_dr_scan(2, fields, jtag_get_end_state());
 
-               jtag_add_callback(arm_le_to_h_u32, (uint8_t *)invalue);
+               jtag_add_callback(arm_le_to_h_u32, (jtag_callback_data_t) 
invalue);
        } else
        {
 
Index: src/target/xscale.c
===================================================================
--- src/target/xscale.c (revision 2284)
+++ src/target/xscale.c (working copy)
@@ -293,8 +293,9 @@
 }
 
 
-static void xscale_getbuf(uint8_t *in)
+static void xscale_getbuf(jtag_callback_data_t arg)
 {
+  uint8_t *in=(uint8_t *)arg;
        *((uint32_t *)in)=buf_get_u32(in, 0, 32);
 }
 
@@ -365,7 +366,7 @@
 
                        jtag_add_dr_scan_check(3, fields, 
jtag_set_end_state(TAP_IDLE));
 
-                       jtag_add_callback(xscale_getbuf, (uint8_t *)(field1+i));
+                       jtag_add_callback(xscale_getbuf, 
(jtag_callback_data_t)(field1+i));
 
                        words_scheduled++;
                }
Index: src/jtag/minidriver.h
===================================================================
--- src/jtag/minidriver.h       (revision 2284)
+++ src/jtag/minidriver.h       (working copy)
@@ -85,9 +85,9 @@
                int num_fields, const int* num_bits, const uint32_t* value,
                tap_state_t end_state);
 
-extern void interface_jtag_add_callback(jtag_callback1_t f, uint8_t *in);
+extern void interface_jtag_add_callback(jtag_callback1_t f, 
jtag_callback_data_t data0);
 
-extern void interface_jtag_add_callback4(jtag_callback_t f, uint8_t *in,
+extern void interface_jtag_add_callback4(jtag_callback_t f, 
jtag_callback_data_t data0,
                jtag_callback_data_t data1, jtag_callback_data_t data2,
                jtag_callback_data_t data3);
 
Index: src/target/embeddedice.c
===================================================================
--- src/target/embeddedice.c    (revision 2284)
+++ src/target/embeddedice.c    (working copy)
@@ -326,7 +326,7 @@
 
                fields[0].in_value = (uint8_t *)data;
                jtag_add_dr_scan(3, fields, jtag_get_end_state());
-               jtag_add_callback(arm_le_to_h_u32, (uint8_t *)data);
+               jtag_add_callback(arm_le_to_h_u32, (jtag_callback_data_t)data);
 
                data++;
                size--;
Index: src/target/arm926ejs.c
===================================================================
--- src/target/arm926ejs.c      (revision 2284)
+++ src/target/arm926ejs.c      (working copy)
@@ -167,7 +167,7 @@
                nr_w_buf = 0;
                jtag_add_dr_scan(4, fields, jtag_get_end_state());
 
-               jtag_add_callback(arm_le_to_h_u32, (uint8_t *)value);
+               jtag_add_callback(arm_le_to_h_u32, (jtag_callback_data_t)value);
 
                if ((retval = jtag_execute_queue()) != ERROR_OK)
                {
Index: src/target/arm966e.c
===================================================================
--- src/target/arm966e.c        (revision 2284)
+++ src/target/arm966e.c        (working copy)
@@ -195,7 +195,7 @@
 
        jtag_add_dr_scan(3, fields, jtag_get_end_state());
 
-       jtag_add_callback(arm_le_to_h_u32, (uint8_t *)value);
+       jtag_add_callback(arm_le_to_h_u32, (jtag_callback_data_t)value);
 
 
 #ifdef _DEBUG_INSTRUCTION_EXECUTION_
Index: src/target/arm_jtag.h
===================================================================
--- src/target/arm_jtag.h       (revision 2284)
+++ src/target/arm_jtag.h       (working copy)
@@ -58,14 +58,16 @@
 
 
 /* use this as a static so we can inline it in -O3 and refer to it via a 
pointer  */
-static __inline__ void arm7flip32(uint8_t *in)
+static __inline__ void arm7flip32(jtag_callback_data_t arg)
 {
-       *((uint32_t *)in)=flip_u32(le_to_h_u32(in), 32);
+  uint8_t *in=(uint8_t *)arg;
+  *((uint32_t *)in)=flip_u32(le_to_h_u32(in), 32);
 }
 
-static __inline__ void arm_le_to_h_u32(uint8_t *in)
+static __inline__ void arm_le_to_h_u32(jtag_callback_data_t arg)
 {
-       *((uint32_t *)in)=le_to_h_u32(in);
+  uint8_t *in=(uint8_t *)arg;
+  *((uint32_t *)in)=le_to_h_u32(in);
 }
 
 
Index: src/target/etb.c
===================================================================
--- src/target/etb.c    (revision 2284)
+++ src/target/etb.c    (working copy)
@@ -158,8 +158,9 @@
 }
 
 
-static void etb_getbuf(uint8_t *in)
+static void etb_getbuf(jtag_callback_data_t arg)
 {
+  uint8_t *in=(uint8_t *)arg;
        *((uint32_t *)in)=buf_get_u32(in, 0, 32);
 }
 
@@ -206,7 +207,7 @@
                fields[0].in_value = (uint8_t *)(data+i);
                jtag_add_dr_scan(3, fields, jtag_get_end_state());
 
-               jtag_add_callback(etb_getbuf, (uint8_t *)(data+i));
+               jtag_add_callback(etb_getbuf, (jtag_callback_data_t)(data+i));
        }
 
        jtag_execute_queue();
Index: src/jtag/jtag.h
===================================================================
--- src/jtag/jtag.h     (revision 2284)
+++ src/jtag/jtag.h     (working copy)
@@ -384,6 +384,11 @@
  */
 extern void jtag_add_plain_dr_scan(int num_fields, const scan_field_t* fields, 
tap_state_t endstate);
 
+/**
+ * Defines the type of data passed to the jtag_callback_t interface.
+ * The underlying type must allow storing an @c int or pointer type.
+ */
+typedef intptr_t jtag_callback_data_t;
 
 /**
  * Defines a simple JTAG callback that can allow conversions on data
@@ -393,17 +398,12 @@
  * For conversion types or checks that can fail, use the more complete
  * variant: jtag_callback_t.
  */
-typedef void (*jtag_callback1_t)(uint8_t *in);
+typedef void (*jtag_callback1_t)(jtag_callback_data_t data0);
 
 /// A simpler version of jtag_add_callback4().
-extern void jtag_add_callback(jtag_callback1_t, uint8_t *in);
+extern void jtag_add_callback(jtag_callback1_t, jtag_callback_data_t data0);
 
 
-/**
- * Defines the type of data passed to the jtag_callback_t interface.
- * The underlying type must allow storing an @c int or pointer type.
- */
-typedef intptr_t jtag_callback_data_t;
 
 /**
  * Defines the interface of the JTAG callback mechanism.
@@ -414,7 +414,7 @@
  * @param data3 An integer big enough to use as an @c int or a pointer.
  * @returns an error code
  */
-typedef int (*jtag_callback_t)(uint8_t *in, jtag_callback_data_t data1, 
jtag_callback_data_t data2, jtag_callback_data_t data3);
+typedef int (*jtag_callback_t)(jtag_callback_data_t data0, 
jtag_callback_data_t data1, jtag_callback_data_t data2, jtag_callback_data_t 
data3);
 
 
 /**
@@ -445,7 +445,7 @@
  * @param data3 An integer big enough to use as an @c int or a pointer.
  *
  */
-extern void jtag_add_callback4(jtag_callback_t f, uint8_t *in,
+extern void jtag_add_callback4(jtag_callback_t f, jtag_callback_data_t data0,
                jtag_callback_data_t data1, jtag_callback_data_t data2,
                jtag_callback_data_t data3);
 
Index: src/target/arm9tdmi.c
===================================================================
--- src/target/arm9tdmi.c       (revision 2284)
+++ src/target/arm9tdmi.c       (working copy)
@@ -206,7 +206,7 @@
                fields[0].in_value=(uint8_t *)in;
                jtag_add_dr_scan(3, fields, jtag_get_end_state());
 
-               jtag_add_callback(arm_le_to_h_u32, (uint8_t *)in);
+               jtag_add_callback(arm_le_to_h_u32, (jtag_callback_data_t)in);
        }
        else
        {
@@ -265,7 +265,7 @@
 
        jtag_add_dr_scan(3, fields, jtag_get_end_state());
 
-       jtag_add_callback(arm_le_to_h_u32, (uint8_t *)in);
+       jtag_add_callback(arm_le_to_h_u32, (jtag_callback_data_t)in);
 
        jtag_add_runtest(0, jtag_get_end_state());
 
@@ -292,8 +292,9 @@
 
 extern void arm_endianness(uint8_t *tmp, void *in, int size, int be, int flip);
 
-static int arm9endianness(uint8_t *in, jtag_callback_data_t size, 
jtag_callback_data_t be, jtag_callback_data_t captured)
+static int arm9endianness(jtag_callback_data_t arg, jtag_callback_data_t size, 
jtag_callback_data_t be, jtag_callback_data_t captured)
 {
+  uint8_t *in=(uint8_t *)arg;
        arm_endianness((uint8_t *)captured, in, (int)size, (int)be, 0);
        return ERROR_OK;
 }
@@ -332,7 +333,7 @@
 
        jtag_add_dr_scan(3, fields, jtag_get_end_state());
 
-       jtag_add_callback4(arm9endianness, in, (jtag_callback_data_t)size, 
(jtag_callback_data_t)be, (jtag_callback_data_t)fields[0].in_value);
+       jtag_add_callback4(arm9endianness, (jtag_callback_data_t)in, 
(jtag_callback_data_t)size, (jtag_callback_data_t)be, 
(jtag_callback_data_t)fields[0].in_value);
 
        jtag_add_runtest(0, jtag_get_end_state());
 
Index: src/jtag/core.c
===================================================================
--- src/jtag/core.c     (revision 2284)
+++ src/jtag/core.c     (working copy)
@@ -353,23 +353,23 @@
        jtag_set_error(retval);
 }
 
-void jtag_add_callback(jtag_callback1_t f, uint8_t *in)
+void jtag_add_callback(jtag_callback1_t f, jtag_callback_data_t data0)
 {
-       interface_jtag_add_callback(f, in);
+       interface_jtag_add_callback(f, data0);
 }
 
-void jtag_add_callback4(jtag_callback_t f, uint8_t *in,
+void jtag_add_callback4(jtag_callback_t f, jtag_callback_data_t data0,
                jtag_callback_data_t data1, jtag_callback_data_t data2,
                jtag_callback_data_t data3)
 {
-       interface_jtag_add_callback4(f, in, data1, data2, data3);
+       interface_jtag_add_callback4(f, data0, data1, data2, data3);
 }
 
 int jtag_check_value_inner(uint8_t *captured, uint8_t *in_check_value, uint8_t 
*in_check_mask, int num_bits);
 
-static int jtag_check_value_mask_callback(uint8_t *in, jtag_callback_data_t 
data1, jtag_callback_data_t data2, jtag_callback_data_t data3)
+static int jtag_check_value_mask_callback(jtag_callback_data_t data0, 
jtag_callback_data_t data1, jtag_callback_data_t data2, jtag_callback_data_t 
data3)
 {
-       return jtag_check_value_inner(in, (uint8_t *)data1, (uint8_t *)data2, 
(int)data3);
+       return jtag_check_value_inner((uint8_t *)data0, (uint8_t *)data1, 
(uint8_t *)data2, (int)data3);
 }
 
 static void jtag_add_scan_check(void (*jtag_add_scan)(int in_num_fields, const 
scan_field_t *in_fields, tap_state_t state),
@@ -393,7 +393,7 @@
                if ((in_fields[i].check_value != NULL) && 
(in_fields[i].in_value != NULL))
                {
                        /* this is synchronous for a minidriver */
-                       jtag_add_callback4(jtag_check_value_mask_callback, 
in_fields[i].in_value,
+                       jtag_add_callback4(jtag_check_value_mask_callback, 
(jtag_callback_data_t)in_fields[i].in_value,
                                (jtag_callback_data_t)in_fields[i].check_value,
                                (jtag_callback_data_t)in_fields[i].check_mask,
                                (jtag_callback_data_t)in_fields[i].num_bits);
Index: src/target/arm920t.c
===================================================================
--- src/target/arm920t.c        (revision 2284)
+++ src/target/arm920t.c        (working copy)
@@ -133,7 +133,7 @@
 
        jtag_add_dr_scan(4, fields, jtag_get_end_state());
 
-       jtag_add_callback(arm_le_to_h_u32, (uint8_t *)value);
+       jtag_add_callback(arm_le_to_h_u32, (jtag_callback_data_t)value);
 
        #ifdef _DEBUG_INSTRUCTION_EXECUTION_
        jtag_execute_queue();
Index: src/target/arm7tdmi.c
===================================================================
--- src/target/arm7tdmi.c       (revision 2284)
+++ src/target/arm7tdmi.c       (working copy)
@@ -189,7 +189,7 @@
 
        jtag_add_dr_scan(2, fields, jtag_get_end_state());
 
-       jtag_add_callback(arm7flip32, (uint8_t *)in);
+       jtag_add_callback(arm7flip32, (jtag_callback_data_t)in);
 
        jtag_add_runtest(0, jtag_get_end_state());
 
@@ -245,8 +245,9 @@
        }
 }
 
-static int arm7endianness(uint8_t *in, jtag_callback_data_t size, 
jtag_callback_data_t be, jtag_callback_data_t captured)
+static int arm7endianness(jtag_callback_data_t arg, jtag_callback_data_t size, 
jtag_callback_data_t be, jtag_callback_data_t captured)
 {
+  uint8_t *in=(uint8_t *)arg;
        arm_endianness((uint8_t *)captured, in, (int)size, (int)be, 1);
        return ERROR_OK;
 }
@@ -279,7 +280,7 @@
 
        jtag_add_dr_scan(2, fields, jtag_get_end_state());
 
-       jtag_add_callback4(arm7endianness, in, (jtag_callback_data_t)size, 
(jtag_callback_data_t)be, (jtag_callback_data_t)fields[1].in_value);
+       jtag_add_callback4(arm7endianness, (jtag_callback_data_t)in, 
(jtag_callback_data_t)size, (jtag_callback_data_t)be, 
(jtag_callback_data_t)fields[1].in_value);
 
        jtag_add_runtest(0, jtag_get_end_state());
 
_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to