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
|