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>