Hey -

In OpenSolaris on SPARC when we are running a process the register windows' 
register OTHERWIN marks the register windows used by the kernel. The opposite 
happens when we are in kernel, i.e OTHERWIN marks the register windows used by 
the process. 

My question is whether there is any guarantee that when running in a process 
the kernel does not use any register windows and has the OTHERWIN set to 0. 
This question is an extension of the question whether the kernel needs to keep 
the kernel stack when it returns back to a process. I see two cases happening. 
The first case is when you block in the kernel. In such a case you need to keep 
the kernel stack. However the kernel forces a context switch which is flushing 
the register windows, so the OTHERWIN is set to 0. The second case is when you 
go into the kernel, do something, and return back. I don't see any reason of 
keeping the kernel stack at such a case, so the register windows used while in 
the kernel should also get invalidated and therefore OTHERWIN is 0.

Any comments on that?

thanks a lot

-Haris
 
 
This message posted from opensolaris.org
_______________________________________________
opensolaris-code mailing list
opensolaris-code@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code

Reply via email to