From owner-freebsd-current Fri May 31 15: 7: 7 2002 Delivered-To: freebsd-current@freebsd.org Received: from avocet.mail.pas.earthlink.net (avocet.mail.pas.earthlink.net [207.217.120.50]) by hub.freebsd.org (Postfix) with ESMTP id A8E9537B40B for ; Fri, 31 May 2002 15:07:02 -0700 (PDT) Received: from pool0324.cvx40-bradley.dialup.earthlink.net ([216.244.43.69] helo=mindspring.com) by avocet.prod.itd.earthlink.net with esmtp (Exim 3.33 #2) id 17DuXu-00015i-00; Fri, 31 May 2002 15:06:54 -0700 Message-ID: <3CF7F3DC.49D2426C@mindspring.com> Date: Fri, 31 May 2002 15:06:20 -0700 From: Terry Lambert X-Mailer: Mozilla 4.7 [en]C-CCK-MCD {Sony} (Win98; U) X-Accept-Language: en MIME-Version: 1.0 To: Julian Elischer Cc: Jake Burkholder , FreeBSD current users Subject: Re: Seeking OK to commit KSE MIII-again References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit 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 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