Port-arm archive

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

Re: converting SWIs to pass swi number in a register.



On 7/2/08, Chris Gilbert <chris%dokein.co.uk@localhost> wrote:
>  I was wondering if anyone had an opinion on switching to passing the SWI
> number into syscall.  I know Linux did this a while back.

Sort of. It was slipped in with the recent binary-incompatible change
from old-ABI to EABI, but most systems still use the old mechanism.
For details see wiki.debian.org/ArmEabiPort at the second half of
section "System Call Interface".

>  I think it particularly makes sense for processors with seperate
> instruction and data caches, as it save taking a data cache miss for every
> SWI call.

indeed. Another option is to make a new BSD arm port and change to use
EABI, now that most of the GCC, binutils, glibc etc work is stable.
That also allows you to link soft-float and hard-float code, allowing
you to distribute one set of generic soft-float libraries as binary
packages but also allowing people to compile their own code using the
various different FPUs that their ARM boards may have. However, it is
a lot of work - the amount of earth-moving is roughly equivalent to a
new machine port. (I know, I moved a lot of that earth in 2006 and
this year...)

    M


Home | Main Index | Thread Index | Old Index