RFC: A new MIPS64 ABI

David Daney ddaney@caviumnetworks.com
Tue Feb 15 02:50:00 GMT 2011


On 02/14/2011 06:33 PM, Matt Thomas wrote:
>
> On Feb 14, 2011, at 6:22 PM, David Daney wrote:
>
>> On 02/14/2011 04:15 PM, Matt Thomas wrote:
>>>
>>> I have to wonder if it's worth the effort.  The primary problem I see
>>> is that this new ABI requires a 64bit kernel since faults through the
>>> upper 2G will go through the XTLB miss exception vector.
>>>
>>
>> Yes, that is correct.  It is a 64-bit ABI, and like the existing n32 ABI requires a 64-bit kernel.
>
> N32 doesn't require a LP64 kernel, just a 64-bit register aware kernel.
> Your N32-big does require a LP64 kernel.
>

But using 'official' kernel sources the only way to get a 64-bit 
register aware kernel is for it to also be LP64.  So effectively, you do 
in fact need a 64-bit kernel to run n32 userspace code.

My proposed ABI would need trivial kernel changes:

o Fix a couple of places where pointers are sign extended instead of 
zero extended.

o Change the stack address and address ranges returned by mmap().


The main work would be in the compiler toolchain and runtime libraries.


David Daney



More information about the Binutils mailing list