linux-mips
[Top] [All Lists]

Re: 64 bit operations w/32 bit kernel

To: Michael Uhler <uhler@mips.com>
Subject: Re: 64 bit operations w/32 bit kernel
From: Ralf Baechle <ralf@linux-mips.org>
Date: Tue, 30 Sep 2003 21:48:43 +0200
Cc: "Finney, Steve" <Steve.Finney@spirentcom.com>, linux-mips@linux-mips.org
In-reply-to: <1064946568.13742.51.camel@uhler-linux.mips.com>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <DC1BF43A8FAE654DA6B3FB7836DD3A56DEB75C@iris.adtech-inc.com> <20030930160023.GB4231@linux-mips.org> <1064946568.13742.51.camel@uhler-linux.mips.com>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.4.1i
On Tue, Sep 30, 2003 at 11:29:28AM -0700, Michael Uhler wrote:

> > There isn't.
> > 
> > What you want really is a 64-bit kernel.  On a 64-bit kernel even for
> > processes running in 32-bit address spaces (o32, N32) the processor
> > will run with the UX bit enabled.  o32 userspace still lives in the
> > assumption that registers are 32-bit so only those bits will be restored
> > in function calls etc.  N32 (where userspace isn't ready for prime time
> > yet) does guarantee that.  And N64 (userspace similarly not ready for
> > prime time) obviously is fully 64-bit everything.
> 
> I don't think you want to run o32 processes with the UX bit set.  UX not
> only enables 64-bit addressing (which you can, in software, make look
> like 32-bit addressing), it also enables access to the 64-bit opcodes.
> This means that you are going to get unexpected and potentially
> unreproducible results.

Currently the 64-bit kernel is running everything in userspace with UX
enabled, in part that's lazyness, in part it was also made in the hope
optimized libraries for o32 would take advantage of 64-bit computing.

Linux btw. doesn't use the MIPS64 PX flag.  It's only supported on MIPS64
and it we simply didn't consider it's use much of a benefit so far -
something that probably is arguable ...

  Ralf

<Prev in Thread] Current Thread [Next in Thread>