[Top] [All Lists]

Re: 64 bit operations w/32 bit kernel

To: Michael Uhler <>
Subject: Re: 64 bit operations w/32 bit kernel
From: "Maciej W. Rozycki" <>
Date: Tue, 30 Sep 2003 21:10:28 +0200 (MET DST)
Cc: Ralf Baechle <>, "Finney, Steve" <>,
In-reply-to: <>
Organization: Technical University of Gdansk
Original-recipient: rfc822;
On 30 Sep 2003, Michael Uhler wrote:

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

 Well, I think this is OK -- 64-bit opcodes are generally useless for
software built for the o32 ABI, so they should not normally happen in
regular code.  Perhaps some fancy hand-coded assembly might try to use
them to get unusual results, including an invalid opcode trap handler for
the processors that do not support them at all.  But I don't think we
should try to work hard to prevent broken software from shooting into its

 And the advantage is we have a single TLB refill handler.


+  Maciej W. Rozycki, Technical University of Gdansk, Poland   +
+        e-mail:, PGP key available        +

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