qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] Revived GUEST_BASE support for usermode emulati


From: malc
Subject: Re: [Qemu-devel] [PATCH] Revived GUEST_BASE support for usermode emulation targets [v4]
Date: Fri, 15 May 2009 16:07:41 +0400 (MSD)

On Fri, 15 May 2009, Paul Brook wrote:

> On Friday 15 May 2009, Riku Voipio wrote:
> > On Fri, May 15, 2009 at 03:25:31AM +0100, Paul Brook wrote:
> > > On Tuesday 05 May 2009, Riku Voipio wrote:
> > > > On Tue, May 05, 2009 at 10:02:41PM +0400, malc wrote:
> > > > > Things should work the way they are in your latest patch on x86 and
> > > > > should be done the way it's done in the original submission (mov +
> > > > > add) for x86_64.
> > > >
> > > > Ok.. here we go. not on a amd64 machine right now so I will test
> > > > that part tomorrow.
> > >
> > > I'm pretty sure it's still broken for large offsets.
> >
> > It is indeed broken. Since tcg_out_addi maps on x86_64 to tgen_arithi64
> > which doesn't accept 64bit values. But as Martin said, the currrent use for
> > this patch is just to add very minimal offsets.
> 
> I that case you should be using lea for small offsets. The proper sequence 
> for 
> large offsets is movq (allows 64-bit immedaise); add.

For x86_64 it might be worthwile to put the offset onto the stack in tcg
prologue and then just `addq r0, OFFSET_OF_BASE_ON_THE_STACK(rsp)'

> 
> The offset is a user configurable option, so IMHO you should be supporting 
> large offsets.
> 
> Paul
> 

-- 
mailto:address@hidden




reply via email to

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