linux-mips
[Top] [All Lists]

Re: 64 bit operations w/32 bit kernel

To: "Maciej W. Rozycki" <macro@ds2.pg.gda.pl>
Subject: Re: 64 bit operations w/32 bit kernel
From: Ralf Baechle <ralf@linux-mips.org>
Date: Tue, 30 Sep 2003 20:47:55 +0200
Cc: "Finney, Steve" <Steve.Finney@SpirentCom.COM>, linux-mips@linux-mips.org
In-reply-to: <Pine.GSO.3.96.1030930195415.11368C-100000@delta.ds2.pg.gda.pl>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <20030930160023.GB4231@linux-mips.org> <Pine.GSO.3.96.1030930195415.11368C-100000@delta.ds2.pg.gda.pl>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.4.1i
On Tue, Sep 30, 2003 at 08:04:42PM +0200, Maciej W. Rozycki 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.
> > 
> > Common design bug in hardware, imho ...
> 
>  Well, ioremap() can be used to get at these areas (as well as any
> others), whether we call it a bug or not.

What I called a bug is the necessity to access hardware registers with
64-bit loads and stores in some systems as opposed to of 32-bit
instructions - that simply doesn't work from 32-bit universes.

To clarify, it was my understanding of Steve's problem he needs 64-bit
loads and stores, not something in the 64-bit physical address space.
The later problem obviously would get a different answer.

  Ralf

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