Skip site navigation (1)Skip section navigation (2)
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>