diff options
author | Jiri Gaisler <jiri@gaisler.se> | 2020-02-29 11:07:13 +0100 |
---|---|---|
committer | Jiri Gaisler <jiri@gaisler.se> | 2020-02-29 14:28:48 +0100 |
commit | 09ba9099c1562c4af1e2f624b9aa2692e563118b (patch) | |
tree | 2ae06e83b4f993e2e2e9a01f6b1bf9c982d55fa2 /leon3.c | |
parent | acd17e755506d316e073175c3993954cb7d51f3e (diff) |
Fix incorrect operation on big-endian hosts
Diffstat (limited to 'leon3.c')
-rw-r--r-- | leon3.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -996,12 +996,12 @@ store_bytes (char *mem, uint32 waddr, uint32 * data, int32 sz, int32 * ws) switch (sz) { case 0: - waddr ^= arch->endian; + waddr ^= arch->bswap; mem[waddr] = *data & 0x0ff; break; case 1: - waddr ^= arch->endian & 2; - memcpy (&mem[waddr], data, 2); + waddr ^= arch->bswap & 2; + *((uint16 *) & mem[waddr]) = (*data & 0x0ffff); break; case 3: memcpy (&mem[waddr], data, 8); |