]> git.ipfire.org Git - thirdparty/qemu.git/commit
tcg/arm: fix TLB access in qemu-ld/st ops
authorAurelien Jarno <aurelien@aurel32.net>
Tue, 9 Oct 2012 19:53:11 +0000 (21:53 +0200)
committerMichael Roth <mdroth@linux.vnet.ibm.com>
Mon, 3 Dec 2012 19:21:47 +0000 (13:21 -0600)
commitac914c1fc2f6981282e179f408d5e6af589595b8
treea51ace560a6e54cf52443b65044b365a3d334cca
parent357414daa4915fb2312fff2af2d4ef28147f3eeb
tcg/arm: fix TLB access in qemu-ld/st ops

The TCG arm backend considers likely that the offset to the TLB
entries does not exceed 12 bits for mem_index = 0. In practice this is
not true for at least the MIPS target.

The current patch fixes that by loading the bits 23-12 with a separate
instruction, and using loads with address writeback, independently of
the value of mem_idx. In total this allow a 24-bit offset, which is a
lot more than needed.

Cc: Andrzej Zaborowski <balrogg@gmail.com>
Cc: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-stable@nongnu.org
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
(cherry picked from commit d17bd1d8cc27f8c1a24c65f555a77a661c332b7f)

Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
tcg/arm/tcg-target.c