From: Thiemo Seufer <ths@networkno.de>
To: Blue Swirl <blauwirbel@gmail.com>
Cc: qemu-devel@nongnu.org
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 [thread overview]
Message-ID: <20071011160025.GF3379@networkno.de> (raw)
In-Reply-To: <f43fc5580710110847v612b83ccu969803ebb743b5d6@mail.gmail.com>
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
next prev parent reply other threads:[~2007-10-11 16:00 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-10 7:42 [Qemu-devel] RFC: fix run of 32 bits Linux executables on 64 bits targets J. Mayer
2007-10-10 8:18 ` Fabrice Bellard
2007-10-10 16:09 ` Blue Swirl
2007-10-10 17:49 ` Thiemo Seufer
2007-10-10 18:40 ` Fabrice Bellard
2007-10-10 19:02 ` Blue Swirl
2007-10-10 21:51 ` J. Mayer
2007-10-11 15:17 ` Thiemo Seufer
2007-10-11 15:47 ` Blue Swirl
2007-10-11 16:00 ` Thiemo Seufer [this message]
2007-10-11 19:26 ` Blue Swirl
2007-10-11 22:00 ` J. Mayer
2007-10-12 16:21 ` Blue Swirl
2007-10-12 18:42 ` Thiemo Seufer
2007-10-12 19:37 ` Blue Swirl
2007-10-12 20:24 ` Thiemo Seufer
2007-10-10 16:01 ` Blue Swirl
2007-10-10 18:42 ` J. Mayer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20071011160025.GF3379@networkno.de \
--to=ths@networkno.de \
--cc=blauwirbel@gmail.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.