Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Linux emulation



On Apr 3, 2014, at 3:26 PM, Robert Swindells <rjs%fdy2.co.uk@localhost> wrote:

> 
> Matt Thomas wrote:
>> On Apr 3, 2014, at 2:30 PM, Dennis Ferguson 
>> <dennis.c.ferguson%gmail.com@localhost> wrote:
>> 
>>> I think it can be enabled unconditionally.  I think the ABI the
>>> kernel was compiled for doesn't matter, it is the ABI the Linux
>>> binary was compiled for which causes things to change.  The executive
>>> decision would be whether the emulation code should run with Linux
>>> binaries of either ABI or whether just picking one ABI is sufficient.
>> 
>> Almost right.  non-EABI has a maximal alignment of 4 (long long have
>> an alignment of 4) while on EABI has a maximal alignment of 8.  This
>> causes structures to have different layouts which is why there is 
>> COMPAT_NETBSD32 support (for the other alignment). 
> 
> With the Linux EABI, a syscall with arguments of (32, 64, 32) will
> put them in (r1, r3&r4, r5).
> 
> I think that I can do something similar to mips to detect any syscalls
> with 64 bit arguments.

As long as you are running an EABI kernel, what does it matter?  The
arguments should already be in right order.



Home | Main Index | Thread Index | Old Index