This is an automated email from Gerrit.

Spencer Oliver (s...@spen-soft.co.uk) just uploaded a new patch set to Gerrit, 
which you can find at http://openocd.zylin.com/786

-- gerrit

commit 3bacaae3ed6c967b59302ae1db2d1671f3407d71
Author: Spencer Oliver <s...@spen-soft.co.uk>
Date:   Fri Aug 17 16:34:21 2012 +0100

    target fix arm7_9 8/16bit read regression
    
    Seems c3074f377c1da33ca8ba8493826e1b52351eebc6 caused a regression
    that has shown up in the cfi driver.
    
    Switch back to using 32bit drscan into a temp variable.
    
    Change-Id: I4105bcc8bdd358c904f34e18b9aa14be27e69372
    Signed-off-by: Spencer Oliver <s...@spen-soft.co.uk>

diff --git a/src/target/arm7tdmi.c b/src/target/arm7tdmi.c
index 2721502..2808404 100644
--- a/src/target/arm7tdmi.c
+++ b/src/target/arm7tdmi.c
@@ -211,6 +211,7 @@ static int arm7tdmi_clock_data_in_endianness(struct 
arm_jtag *jtag_info,
 {
        int retval = ERROR_OK;
        struct scan_field fields[2];
+       uint8_t in_buf[4];
 
        retval = arm_jtag_scann(jtag_info, 0x1, TAP_DRPAUSE);
        if (retval != ERROR_OK)
@@ -223,9 +224,9 @@ static int arm7tdmi_clock_data_in_endianness(struct 
arm_jtag *jtag_info,
        fields[0].out_value = NULL;
        fields[0].in_value = NULL;
 
-       fields[1].num_bits = size * 8;
+       fields[1].num_bits = 32;
        fields[1].out_value = NULL;
-       fields[1].in_value = in;
+       fields[1].in_value = in_buf;
 
        jtag_add_dr_scan(jtag_info->tap, 2, fields, TAP_DRPAUSE);
 
@@ -233,7 +234,7 @@ static int arm7tdmi_clock_data_in_endianness(struct 
arm_jtag *jtag_info,
                (jtag_callback_data_t)in,
                (jtag_callback_data_t)size,
                (jtag_callback_data_t)be,
-               (jtag_callback_data_t)in);
+               (jtag_callback_data_t)in_buf);
 
        jtag_add_runtest(0, TAP_DRPAUSE);
 
diff --git a/src/target/arm9tdmi.c b/src/target/arm9tdmi.c
index e8ad932..89e8276 100644
--- a/src/target/arm9tdmi.c
+++ b/src/target/arm9tdmi.c
@@ -263,6 +263,7 @@ int arm9tdmi_clock_data_in_endianness(struct arm_jtag 
*jtag_info,
 {
        int retval = ERROR_OK;
        struct scan_field fields[3];
+       uint8_t in_buf[4];
 
        retval = arm_jtag_scann(jtag_info, 0x1, TAP_DRPAUSE);
        if (retval != ERROR_OK)
@@ -272,9 +273,9 @@ int arm9tdmi_clock_data_in_endianness(struct arm_jtag 
*jtag_info,
        if (retval != ERROR_OK)
                return retval;
 
-       fields[0].num_bits = size * 8;
+       fields[0].num_bits = 32;
        fields[0].out_value = NULL;
-       fields[0].in_value = in;
+       fields[0].in_value = in_buf;
 
        fields[1].num_bits = 3;
        fields[1].out_value = NULL;
@@ -290,7 +291,7 @@ int arm9tdmi_clock_data_in_endianness(struct arm_jtag 
*jtag_info,
                (jtag_callback_data_t)in,
                (jtag_callback_data_t)size,
                (jtag_callback_data_t)be,
-               (jtag_callback_data_t)in);
+               (jtag_callback_data_t)in_buf);
 
        jtag_add_runtest(0, TAP_DRPAUSE);
 

-- 

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
OpenOCD-devel mailing list
OpenOCD-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to