On 27 August 2012 23:51, Aurelien Jarno <aurel...@aurel32.net> wrote: > 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. > > Based on commit 9716ef3b for ARM by Peter Maydell. > > Signed-off-by: Aurelien Jarno <aurel...@aurel32.net>
Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> Not tested, since I don't have any MIPS boxes. But it looks right, and I went through and checked that the register constraints were right, which I think is the most likely spot for subtle bugs. -- PMM