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