mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-01-10 22:35:36 +00:00
cputlb: use uint64_t for interim values for unaligned load
When running on 32 bit TCG backends a wide unaligned load ends up truncating data before returning to the guest. We specifically have the return type as uint64_t to avoid any premature truncation so we should use the same for the interim types. Fixes: https://bugs.launchpad.net/qemu/+bug/1830872 Fixes: eed5664238e Backports commit 8c79b288513587e960b6b7257a9d955d5592f209 from qemu
This commit is contained in:
parent
d7ea41c3a3
commit
9aef73f5fb
|
@ -1085,7 +1085,7 @@ load_helper(CPUArchState *env, target_ulong addr, TCGMemOpIdx oi,
|
|||
&& unlikely((addr & ~TARGET_PAGE_MASK) + size - 1
|
||||
>= TARGET_PAGE_SIZE)) {
|
||||
target_ulong addr1, addr2;
|
||||
tcg_target_ulong r1, r2;
|
||||
uint64_t r1, r2;
|
||||
unsigned shift;
|
||||
do_unaligned_access:
|
||||
addr1 = addr & ~(size - 1);
|
||||
|
|
Loading…
Reference in a new issue