On 27 August 2012 23:51, Aurelien Jarno <[email protected]> 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 <[email protected]>
Reviewed-by: Peter Maydell <[email protected]> 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
