Subject: Re: RFC: Change SWI number base?
To: None <Richard.Earnshaw@arm.com>
From: Ben Harris <bjh21@netbsd.org>
List: port-arm
Date: 01/14/2002 11:57:47
On Sun, 13 Jan 2002, Richard Earnshaw wrote:

> > On Tue, 8 Jan 2002, Richard Earnshaw wrote:
> >
> > > The more I think about it, the more I suspect that the final stub into the
> > > kernel should be coded in ARM code rather than thumb code.  That makes
> > > this whole issue go away for the normal case, and we should stick to using
> > > the current technique of normally coding the SWI number in the
> > > instruction.
> >
> > Oh good.  In that case, we'll keep the syscall protocol as-is for ELF,
> > except to change the SWI base to match our shiny new officially-assigned
> > one, OK?
>
> Yes, fine by me, but I think we should also state that any SWI made
> *directly* from thumb code is handled "as if" it were done as SYS_syscall
> (except that the immediate field of the thumb swi instruction is not used).

Something like that is probably a good idea.  The only thing to be
careful about is that we can implement a __syscall() veneer in this case.

> This way we only have to test that we are coming from thumb code to be
> able to set the CODE parameter to syscall() as SYS_syscall.

Actually, my new syscall() extracts the syscall number itself (part of my
general desire to simplify our assembly-language bits), so swi_entry
doesn't need to do anything special (and I'll g/c its current code
sometime soon).

-- 
Ben Harris                                                   <bjh21@netbsd.org>
Portmaster, NetBSD/arm26               <URL:http://www.netbsd.org/Ports/arm26/>