From 2482244b0788c007dd789c21a4416379c229ea5c Mon Sep 17 00:00:00 2001 From: =?utf8?q?=C3=98yvind=20Harboe?= Date: Tue, 28 Jun 2011 18:22:32 +0200 Subject: [PATCH] mips4k: fix big-endian hosts and host alignment problems the code was making assumptions about the endianness of the host. --- src/target/mips_m4k.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/target/mips_m4k.c b/src/target/mips_m4k.c index 03c996941e..9b4e1a4587 100644 --- a/src/target/mips_m4k.c +++ b/src/target/mips_m4k.c @@ -877,11 +877,11 @@ static int mips_m4k_read_memory(struct target *target, uint32_t address, switch(size) { case 4: - t32 = *(uint32_t*)&buffer[i]; + t32 = le_to_h_u32(&buffer[i]); target_buffer_set_u32(target,&buffer[i], t32); break; case 2: - t16 = *(uint16_t*)&buffer[i]; + t16 = le_to_h_u16(&buffer[i]); target_buffer_set_u16(target,&buffer[i], t16); break; } @@ -930,11 +930,11 @@ static int mips_m4k_write_memory(struct target *target, uint32_t address, { case 4: t32 = target_buffer_get_u32(target,&buffer[i]); - *(uint32_t*)&t[i] = t32; + h_u32_to_le(&t[i], t32); break; case 2: t16 = target_buffer_get_u16(target,&buffer[i]); - *(uint16_t*)&t[i] = t16; + h_u16_to_le(&t[i], t16); break; } } @@ -1074,7 +1074,7 @@ static int mips_m4k_bulk_write_memory(struct target *target, uint32_t address, for(i = 0; i < (count*4); i += 4) { t32 = target_buffer_get_u32(target,&buffer[i]); - *(uint32_t*)&t[i] = t32; + h_u32_to_le(&t[i], t32); } retval = mips32_pracc_fastdata_xfer(ejtag_info, mips32->fast_data_area, write_t, address, -- 2.30.2