This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: RFC: A new MIPS64 ABI
- From: Alexandre Oliva <aoliva at redhat dot com>
- To: David Daney <ddaney at caviumnetworks dot com>
- Cc: linux-mips <linux-mips at linux-mips dot org>, GCC <gcc at gcc dot gnu dot org>, binutils <binutils at sourceware dot org>, Prasun Kapoor <prasun dot kapoor at caviumnetworks dot com>
- Date: Tue, 15 Feb 2011 15:56:01 -0200
- Subject: Re: RFC: A new MIPS64 ABI
- References: <4D5990A4.2050308@caviumnetworks.com>
On Feb 14, 2011, David Daney <ddaney@caviumnetworks.com> wrote:
> Current MIPS 32-bit ABIs (both o32 and n32) are restricted to 2GB of
> user virtual memory space. This is due the way MIPS32 memory space is
> segmented. Only the range from 0..2^31-1 is available. Pointer
> values are always sign extended.
> The proposed new ABI would only be available on MIPS64 platforms. It
> would be identical to the current MIPS n32 ABI *except* that pointers
> would be zero-extended rather than sign-extended when resident in
> registers.
FTR, I don't really know why my Yeeloong is limited to 31-bit addresses,
and I kind of hoped an n32 userland would improve that WRT o32, without
wasting memory with longer pointers like n64 would.
So, sorry if this is a dumb question, but wouldn't it be much easier to
keep on using sign-extended addresses, and just make sure the kernel
never allocates a virtual memory range that crosses a sign-bit change,
or whatever other reason there is for addresses to be limited to the
positive 2GB range in n32?
--
Alexandre Oliva, freedom fighter http://FSFLA.org/~lxoliva/
You must be the change you wish to see in the world. -- Gandhi
Be Free! -- http://FSFLA.org/ FSF Latin America board member
Free Software Evangelist Red Hat Brazil Compiler Engineer