• Aurelien Jarno's avatar
    tcg/mips: fix broken CONFIG_TCG_PASS_AREG0 code · 18fec301
    Aurelien Jarno authored
    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: default avatarAurelien Jarno <aurelien@aurel32.net>
    Reviewed-by: default avatarPeter Maydell <peter.maydell@linaro.org>
tcg-target.c 49.1 KB