linux-mips
[Top] [All Lists]

Re: 64 bit operations w/32 bit kernel

To: "Finney, Steve" <Steve.Finney@spirentcom.com>
Subject: Re: 64 bit operations w/32 bit kernel
From: "Kip Walker" <kwalker@broadcom.com>
Date: Tue, 30 Sep 2003 07:49:31 -0700
Cc: "Michael Uhler" <uhler@mips.com>, linux-mips@linux-mips.org
Organization: Broadcom Corp. BPBU
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <DC1BF43A8FAE654DA6B3FB7836DD3A56DEB75C@iris.adtech-inc.com> <1064862114.11818.21.camel@uhler-linux.mips.com>
Sender: linux-mips-bounce@linux-mips.org
Michael Uhler wrote:
> 
> On Mon, 2003-09-29 at 10:31, Finney, Steve wrote:
> > What would be the downside to enabling 64 bit operations in user space on a 
> > 32 bit kernel (setting the PX bit in the status register?). The particular 
> > issue is that I want to access 64 bit-memory mapped registers, and I really 
> > need to do it as an atomic operation. I tried borrowing sibyte/64bit.h from 
> > the kernel, but I get an illegal instruction on the double ops.
> >
> The most glaring problem is you violate the rule that the 64-bit GPRs
> are sign-extended when running a 32-bit binary.  There are all kinds
> of assumptions in the hardware and software that depend on the
> GPRs being sign-extended, and to violate this will risk some
> serious instability of the software.

Not to mention that the kernel won't preserve the upper 32 bits across
interrupts and system calls, if you even manage to get 64-bit values in
the registers in the first place.

Kip


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