qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] RFC: fix run of 32 bits Linux executables on 64 bits ta


From: Thiemo Seufer
Subject: Re: [Qemu-devel] RFC: fix run of 32 bits Linux executables on 64 bits targets
Date: Thu, 11 Oct 2007 17:00:25 +0100
User-agent: Mutt/1.5.16 (2007-06-11)

Blue Swirl wrote:
[snip]
> > >> I would think this feature will be limited to platforms which can handle
> > >> 32bit and 64bit binaries with a single personality.
> > >
> > > I am not sure it is a common case !
> > >
> > > However, I suggest to emulate a 32 bit user linux system with a 64 bit
> > > guest CPU running in 32 bit compatibily mode. It would be useful to test 
> > > 64
> > > bit CPUs in 32 bit compatibility mode. The only required modification in
> > > linux user is to rename target_ulong so that it can have a different size
> > > of the CPU word default size.
> >
> > Doesn't work for MIPS64, since it doesn't quite have a compatibility mode
> > in the traditional sense. It needs to retain 64bit register width when
> > running N32 ABI binaries. (Thus the somewhat odd overrides I added for
> > the preliminary N32 support.)
> 
> CPU registers (and storage for full width registers) would still be 64
> bits. The ABI uses of target_ulong need to be changed to, for example
> abi_ulong so that the size can be changed.

I see.

> Sparc64 does not have a compatibility mode either (except for address
> masking), it can run Sparc32 binaries because of the cleverly designed
> instruction set. Ops use full 64 bits of a register, but there are two
> sets of CPU flags, 32 and 64 bits.

For MIPS it's not even that much, sign-extension magic handles everything.


Thiemo




reply via email to

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