summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Mahr <stefan.mahr@sphairon.com>2011-05-25 15:49:21 +0200
committerØyvind Harboe <oyvind.harboe@zylin.com>2011-05-28 14:25:06 +0200
commit73988aea1f68390cdc60f6b6b777f7a466935084 (patch)
tree9f5dafcd361d150918515fa47fedb7b3ca1fe2fc
parent212db44fcf56de16baaa6ee78e2f459e185db653 (diff)
downloadopenocd+libswd-73988aea1f68390cdc60f6b6b777f7a466935084.tar.gz
openocd+libswd-73988aea1f68390cdc60f6b6b777f7a466935084.tar.bz2
openocd+libswd-73988aea1f68390cdc60f6b6b777f7a466935084.tar.xz
openocd+libswd-73988aea1f68390cdc60f6b6b777f7a466935084.zip
mips: fix swapping if openocd is running on big endian host
-rw-r--r--src/target/mips_ejtag.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/target/mips_ejtag.c b/src/target/mips_ejtag.c
index 6229055d..704aec2b 100644
--- a/src/target/mips_ejtag.c
+++ b/src/target/mips_ejtag.c
@@ -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);