]> git.ipfire.org Git - thirdparty/qemu.git/commit
tcg/arm: Fix broken CONFIG_TCG_PASS_AREG0 code
authorPeter Maydell <peter.maydell@linaro.org>
Sun, 26 Aug 2012 13:40:02 +0000 (14:40 +0100)
committerMichael Roth <mdroth@linux.vnet.ibm.com>
Tue, 28 Aug 2012 06:50:02 +0000 (01:50 -0500)
commit0ba3d50242573c3c821f275e6061655b7e6d4ae1
tree1daeee4782a45e6e2337253c2ac39bd6e64ea215
parent0214b6b4deb87d70bfc5fb00ba62f85fcf06f8ab
tcg/arm: Fix broken CONFIG_TCG_PASS_AREG0 code

The CONFIG_TCG_PASS_AREG0 code for calling ld/st helpers was
broken in that it did not respect the ABI requirement that 64
bit values were passed in even-odd register pairs. The simplest
way to fix this is to implement some new utility functions
for marshalling function arguments into the correct registers
and stack, so that the code which sets up the address and
data arguments does not need to care whether there has been
a preceding env argument.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
(cherry picked from commit 9716ef3b1b48ebbb4b6515fb4685a5db96ce41d9)

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