]> git.sur5r.net Git - openocd/commitdiff
mips: fix swapping if openocd is running on big endian host
authorStefan Mahr <stefan.mahr@sphairon.com>
Wed, 25 May 2011 13:49:21 +0000 (15:49 +0200)
committerØyvind Harboe <oyvind.harboe@zylin.com>
Sat, 28 May 2011 12:25:06 +0000 (14:25 +0200)
src/target/mips_ejtag.c

index 6229055d7f7581d9352c22243aa4228e70340b9f..704aec2b57f12a4b5d8e139838159e87691e48aa 100644 (file)
@@ -123,6 +123,7 @@ int mips_ejtag_drscan_32(struct mips_ejtag *ejtag_info, uint32_t *data)
 
 void mips_ejtag_drscan_32_out(struct mips_ejtag *ejtag_info, uint32_t data)
 {
+       uint8_t t[4];
        struct jtag_tap *tap;
        tap  = ejtag_info->tap;
        assert(tap != NULL);
@@ -130,7 +131,9 @@ void mips_ejtag_drscan_32_out(struct mips_ejtag *ejtag_info, uint32_t data)
        struct scan_field field;
 
        field.num_bits = 32;
-       field.out_value = (uint8_t *)&data;
+       field.out_value = t;
+       buf_set_u32(t, 0, field.num_bits, data);
+
        field.in_value = NULL;
 
        jtag_add_dr_scan(tap, 1, &field, TAP_IDLE);