Date: Sun, 21 Dec 1997 19:56:28 +0000 From: Ric Flinn <rmf@radiks.net> To: Jason Evans <jasone@canonware.com> Cc: freebsd-sparc@FreeBSD.ORG Subject: Re: Register windowing Message-ID: <349D746C.85A2D84F@radiks.net> References: <Pine.BSF.3.96.971221003424.367P-100000@mozart.canonware.com>
next in thread | previous in thread | raw e-mail | index | archive | help
There are other ways for an OS to deal with register windows; consider the following: Instead of different register windows being used for function calls, have different windows available for different OS functions, such as interrupts and system calls. This way, when an interrupt occurs, you don't save the user program's registers, but just switch to a differnent (non-adjacent) window, which reduces a bit of overhead. Same with system calls, just switch to the kernel's register window. Now, I'm not saying that this is a better way, but that it may be one to consider, and may be easier to implement. Wouldn't the compiler have to be aware of windowing if user programs used them for nested function calls? Jason Evans wrote: > The sun4u processor has 8 register windows. Anyone know what the sun4m, > sun4c, etc. has? If we use a simple solution such as trying to keep half > of the windows full, the code won't need to be changed for each processor > other than a few constants, but still, it would be good to know for future > reference. I believe most of the newer processors have (at least) 8 (even the embedded SparcLite chip has 8), but I know some older machines 7, maybe some have fewer. Ric Flinn rmf@radiks.net
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?349D746C.85A2D84F>