Apparently, On Fri, May 31, 2002 at 05:49:59PM -0700,
        Julian Elischer said words to the effect of;

> interesting but not exactly brief.. :-)
> 
> 
> On Fri, 31 May 2002, Jake Burkholder wrote:
> 
> > 
> > The system call stubs in libc are leaf functions; basically just a
> > trap instruction followed by a return.  They do not touch the stack
> > at all, or change the stack pointer.  One of the first few instructions
> > on entry to the kernel is a save, which rotates the register window
> > and logically saves the call-safe registers onto the user stack
> > (the outs become the ins, and the kernel gets new ins and locals,
> > with the old ones being saved to the user stack once a flush is
> > performed or they get spilled out).
> 
> the question is "when does it switch to the kernel stack?"
> (and back?)

This is not done by the hardware.  Its done by the trap code after
the save is executed.

> 
> 
> > 
> > Here is a reference:  http://www.sparc.com/standards/v9.ps.Z
> 
> downloaded... 300+ pages.. hmm.
> 
> 
> > 
> > Jake
> > 

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

Reply via email to