From owner-freebsd-current Fri May 31 17:17:39 2002 Delivered-To: freebsd-current@freebsd.org Received: from k6.locore.ca (k6.locore.ca [198.96.117.170]) by hub.freebsd.org (Postfix) with ESMTP id 7114D37B415 for ; Fri, 31 May 2002 17:17:07 -0700 (PDT) Received: (from jake@localhost) by k6.locore.ca (8.11.6/8.11.6) id g510XIk44902; Fri, 31 May 2002 20:33:18 -0400 (EDT) (envelope-from jake) Date: Fri, 31 May 2002 20:33:17 -0400 From: Jake Burkholder To: Julian Elischer Cc: FreeBSD current users Subject: Re: Seeking OK to commit KSE MIII-again Message-ID: <20020531203317.W62759@locore.ca> References: <20020531133212.U62759@locore.ca> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: ; from julian@elischer.org on Fri, May 31, 2002 at 01:45:50PM -0700 Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Apparently, On Fri, May 31, 2002 at 01:45:50PM -0700, Julian Elischer said words to the effect of; > > > On Fri, 31 May 2002, Jake Burkholder wrote: > > [aweful stuff] > (always did dislike sparc) Whatever. It's the most fun architecture I've found to program for. > > jake.. > can you show me the sequecne of operations performed on the stack > in a syscall before and after the jump to kernel space? > 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 Jake To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message