qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] tcg/mips: fix broken CONFIG_TCG_PASS_AREG0 code


From: Aurelien Jarno
Subject: Re: [Qemu-devel] [PATCH] tcg/mips: fix broken CONFIG_TCG_PASS_AREG0 code
Date: Tue, 28 Aug 2012 14:36:34 +0200
User-agent: Mutt/1.5.20 (2009-06-14)

On Tue, Aug 28, 2012 at 01:19:21PM +0100, Peter Maydell wrote:
> On 27 August 2012 23:51, Aurelien Jarno <address@hidden> 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 <address@hidden>
> 
> Reviewed-by: Peter Maydell <address@hidden>

Thanks for the review.

> 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.

Agreed, actually I got such issues when initially testing the patch
(with a 64-bit guest on a 32-bit host it's quite easy to reach the
maximum number of registers, even if mips has 32 of them). I should have
added that I have tested this patch on mips an mipsel hosts, with i386,
x86_64, ppc, mips, mipsel, mips64 and mips64el guests.

-- 
Aurelien Jarno                          GPG: 1024D/F1BCDB73
address@hidden                 http://www.aurel32.net



reply via email to

[Prev in Thread] Current Thread [Next in Thread]