Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 31 May 2002 15:06:20 -0700
From:      Terry Lambert <tlambert2@mindspring.com>
To:        Julian Elischer <julian@elischer.org>
Cc:        Jake Burkholder <jake@locore.ca>, FreeBSD current users <current@FreeBSD.ORG>
Subject:   Re: Seeking OK to commit KSE MIII-again
Message-ID:  <3CF7F3DC.49D2426C@mindspring.com>
References:  <Pine.BSF.4.21.0205311340570.29361-100000@InterJet.elischer.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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 majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3CF7F3DC.49D2426C>