From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KYOax-0001JM-F9 for qemu-devel@nongnu.org; Wed, 27 Aug 2008 13:14:11 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KYOav-0001IS-PU for qemu-devel@nongnu.org; Wed, 27 Aug 2008 13:14:11 -0400 Received: from [199.232.76.173] (port=37436 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KYOav-0001IM-Ln for qemu-devel@nongnu.org; Wed, 27 Aug 2008 13:14:09 -0400 Received: from rn-out-0910.google.com ([64.233.170.188]:2090) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KYOav-0007Zd-Ao for qemu-devel@nongnu.org; Wed, 27 Aug 2008 13:14:09 -0400 Received: by rn-out-0910.google.com with SMTP id m61so420936rnd.8 for ; Wed, 27 Aug 2008 10:14:08 -0700 (PDT) Message-ID: Date: Wed, 27 Aug 2008 20:14:07 +0300 From: "Blue Swirl" Subject: Re: [Qemu-devel] linux-user exception handling In-Reply-To: <20080827125223.H53558@stanley.csl.cornell.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <20080825162105.T45325@stanley.csl.cornell.edu> <20080827125223.H53558@stanley.csl.cornell.edu> Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org On 8/27/08, Vince Weaver wrote: > On Mon, 25 Aug 2008, Blue Swirl wrote: > > > > > No, register window handling and other exceptions are handled in > > linux-user/main.c. > > > > You are right. It can be frustrating tracing through the code trying to > find out what is being called when. > > In any case, I think I've found a bug with register-window handling. > When using sparc32plus, the "wim" value isn't being updated on a > save_window() call. Thus when later a "ta 3" (flush register windows) call > happens, the wrong windows get written out to memory. > > I've attached some sample code that shows this problem. > > The patch below fixes this for me, but it should be looked over carefully > because the register window code in qemu is deep magic. > > This fix allows the spec2k gcc.scilab and fma3d benchmarks to progress > further. How is that possible, because V9 class CPUs do not have "wim"?