]> git.gag.com Git - fw/openocd/blobdiff - src/target/mips_ejtag.c
mips: fix swapping if openocd is running on big endian host
[fw/openocd] / 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);