Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 01 Jun 2002 00:35:08 -0700
From:      Terry Lambert <tlambert2@mindspring.com>
To:        Jake Burkholder <jake@locore.ca>
Cc:        Julian Elischer <julian@elischer.org>, FreeBSD current users <current@FreeBSD.ORG>
Subject:   Re: Seeking OK to commit KSE MIII-again
Message-ID:  <3CF8792C.FB0B94C1@mindspring.com>
References:  <20020531133212.U62759@locore.ca> <Pine.BSF.4.21.0205311340570.29361-100000@InterJet.elischer.org> <20020531203317.W62759@locore.ca>

next in thread | previous in thread | raw e-mail | index | archive | help
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).
> 
> Here is a reference:  http://www.sparc.com/standards/v9.ps.Z

Cool.  Thanks for the reference.  Though I think it's largely
equivalent to the system call helper for threads context and
stack switching in liblwp... 8-).

-- 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?3CF8792C.FB0B94C1>