mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 00:33:55 -06:00
endianness fixes
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1250 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
8df1cd076c
commit
49be803015
2 changed files with 18 additions and 29 deletions
|
@ -106,9 +106,9 @@ void helper_ld_asi(int asi, int size, int sign)
|
|||
case 0x20 ... 0x2f: /* MMU passthrough */
|
||||
cpu_physical_memory_read(T0, (void *) &ret, size);
|
||||
if (size == 4)
|
||||
bswap32s(&ret);
|
||||
else if (size == 2)
|
||||
bswap16s((uint16_t *)&ret);
|
||||
tswap32s(&ret);
|
||||
else if (size == 2)
|
||||
tswap16s((uint16_t *)&ret);
|
||||
break;
|
||||
default:
|
||||
ret = 0;
|
||||
|
@ -170,7 +170,7 @@ void helper_st_asi(int asi, int size, int sign)
|
|||
int src = T1, dst = T0;
|
||||
uint8_t temp[32];
|
||||
|
||||
bswap32s(&src);
|
||||
tswap32s(&src);
|
||||
|
||||
cpu_physical_memory_read(src, (void *) &temp, 32);
|
||||
cpu_physical_memory_write(dst, (void *) &temp, 32);
|
||||
|
@ -185,7 +185,7 @@ void helper_st_asi(int asi, int size, int sign)
|
|||
uint64_t val;
|
||||
|
||||
val = (((uint64_t)T1) << 32) | T2;
|
||||
bswap64s(&val);
|
||||
tswap64s(&val);
|
||||
|
||||
for (i = 0; i < 32; i += 8, dst += 8) {
|
||||
cpu_physical_memory_write(dst, (void *) &val, 8);
|
||||
|
@ -196,10 +196,9 @@ void helper_st_asi(int asi, int size, int sign)
|
|||
{
|
||||
int temp = T1;
|
||||
if (size == 4)
|
||||
bswap32s(&temp);
|
||||
tswap32s(&temp);
|
||||
else if (size == 2)
|
||||
bswap16s((uint16_t *)&temp);
|
||||
|
||||
tswap16s((uint16_t *)&temp);
|
||||
cpu_physical_memory_write(T0, (void *) &temp, size);
|
||||
}
|
||||
return;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue