X32 psABI status
Matt Thomas
matt@3am-software.com
Sun Feb 13 09:01:00 GMT 2011
On Feb 12, 2011, at 7:02 PM, Andrew Pinski wrote:
> On Sat, Feb 12, 2011 at 3:04 PM, H. Peter Anvin <hpa@zytor.com> wrote:
>> On 02/12/2011 01:10 PM, Florian Weimer wrote:
>>> Why is the ia32 compatiblity kernel interface used?
>>
>> Because there is no way in hell we're designing in a second
>> compatibility ABI in the kernel (and it has to be a compatibility ABI,
>> because of the pointer size difference.)
>
> I think he is asking why not create a new ABI layer for the kernel
> like it is done for n32 for MIPS.
The kernel syscall ABI needs to be able to be pass 64-bit quantities
in a single register (since that's what the calling ABI is capable
of doing but I don't think the ia32 kernel interface can do)?
Maybe it's me, but I expected X32 to be the X86-64 ABI with 32-bit longs
and pointers (converted to 64-bit arguments when passed in register or
on the stack). That allows the same syscall argument marshalling that
currently exists but just need a different set of syscall vectors.
More information about the Gcc
mailing list