106 |
case 0x20 ... 0x2f: /* MMU passthrough */ |
case 0x20 ... 0x2f: /* MMU passthrough */ |
107 |
cpu_physical_memory_read(T0, (void *) &ret, size); |
cpu_physical_memory_read(T0, (void *) &ret, size); |
108 |
if (size == 4) |
if (size == 4) |
109 |
bswap32s(&ret); |
tswap32s(&ret); |
110 |
else if (size == 2) |
else if (size == 2) |
111 |
bswap16s((uint16_t *)&ret); |
tswap16s((uint16_t *)&ret); |
112 |
break; |
break; |
113 |
default: |
default: |
114 |
ret = 0; |
ret = 0; |
170 |
int src = T1, dst = T0; |
int src = T1, dst = T0; |
171 |
uint8_t temp[32]; |
uint8_t temp[32]; |
172 |
|
|
173 |
bswap32s(&src); |
tswap32s(&src); |
174 |
|
|
175 |
cpu_physical_memory_read(src, (void *) &temp, 32); |
cpu_physical_memory_read(src, (void *) &temp, 32); |
176 |
cpu_physical_memory_write(dst, (void *) &temp, 32); |
cpu_physical_memory_write(dst, (void *) &temp, 32); |
185 |
uint64_t val; |
uint64_t val; |
186 |
|
|
187 |
val = (((uint64_t)T1) << 32) | T2; |
val = (((uint64_t)T1) << 32) | T2; |
188 |
bswap64s(&val); |
tswap64s(&val); |
189 |
|
|
190 |
for (i = 0; i < 32; i += 8, dst += 8) { |
for (i = 0; i < 32; i += 8, dst += 8) { |
191 |
cpu_physical_memory_write(dst, (void *) &val, 8); |
cpu_physical_memory_write(dst, (void *) &val, 8); |
196 |
{ |
{ |
197 |
int temp = T1; |
int temp = T1; |
198 |
if (size == 4) |
if (size == 4) |
199 |
bswap32s(&temp); |
tswap32s(&temp); |
200 |
else if (size == 2) |
else if (size == 2) |
201 |
bswap16s((uint16_t *)&temp); |
tswap16s((uint16_t *)&temp); |
|
|
|
202 |
cpu_physical_memory_write(T0, (void *) &temp, size); |
cpu_physical_memory_write(T0, (void *) &temp, size); |
203 |
} |
} |
204 |
return; |
return; |