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