cputlb: use uint64_t for interim values for unaligned load
commit8c79b288513587e960b6b7257a9d955d5592f209
authorAlex Bennée <alex.bennee@linaro.org>
Mon, 3 Jun 2019 14:56:32 +0000 (3 15:56 +0100)
committerAlex Bennée <alex.bennee@linaro.org>
Wed, 12 Jun 2019 16:53:22 +0000 (12 17:53 +0100)
tree387e7d351a921ca0c4adb87ca0edecbb0f25a5e8
parent78e24848f6a2923f356d15d8751c644f94a39fd8
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

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Tested-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Igor Mammedov <imammedo@redhat.com>
accel/tcg/cputlb.c