Julian Elischer wrote:
> On Fri, 31 May 2002, Jake Burkholder wrote:
> 
> [aweful stuff]
> (always did dislike sparc)
> 
> jake..
> can you show me the sequecne of operations performed on the stack
> in a syscall before and after the jump to kernel space?


It's not that awful.  Read the paper "SPARC Register Windows and
User Space Threading", which was the basis for the SunOS 4.1.x
"liblwp", user space threading library.

The main problem is that a large amount of data on the stack
may span more than one register window (Jake can correct me if
I'm wrong).  Basically, you want everything to fit in a single
register window.  You can fake alignment by prematurely pushing,
but you can't make the windows larger.

I haven't looked at Jake's code here (I think it's code he has
not written because he wanted the APIs to settle down first,
according to his next-to-previous email ;^)), but I suspect that
it will end up pushing a window, filling out a mostly clean one,
and then making the boundary transition call.  This is just an
educated guess, though, based on 32 bit SPARC work a number of
years ago, so things may be different (again, Jake can correct
me if I'm wrong).

-- Terry

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to