From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KYQfH-0003ax-6x for qemu-devel@nongnu.org; Wed, 27 Aug 2008 15:26:47 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KYQfE-0003YR-Vx for qemu-devel@nongnu.org; Wed, 27 Aug 2008 15:26:46 -0400 Received: from [199.232.76.173] (port=51757 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KYQfE-0003YO-Po for qemu-devel@nongnu.org; Wed, 27 Aug 2008 15:26:44 -0400 Received: from wx-out-0506.google.com ([66.249.82.231]:51885) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KYQfE-0000XF-B9 for qemu-devel@nongnu.org; Wed, 27 Aug 2008 15:26:44 -0400 Received: by wx-out-0506.google.com with SMTP id h29so11921wxd.4 for ; Wed, 27 Aug 2008 12:26:43 -0700 (PDT) Message-ID: Date: Wed, 27 Aug 2008 22:26:42 +0300 From: "Blue Swirl" Subject: Re: [Qemu-devel] linux-user exception handling In-Reply-To: <20080827143804.D54290@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> <20080827132255.U54074@stanley.csl.cornell.edu> <20080827143804.D54290@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 Wed, 27 Aug 2008, Blue Swirl wrote: > > > > > With this patch I get the sequence AA to MM and then back to AA. > > Strangely Sparc32 prints AA to MM and then back to BB, never reaches > > AA. > > > > Your patch is much better than mine, with it all of the gcc spec2k inputs > work. So I'm all for committing it. Okay, I committed it. The address where the windows are saved may be incorrect, perhaps the stack bias of -2047 should be added? > One semi-related thing, according to the documentation V9 increments CWP on > save and decrements it on restore, while V8 does the opposite. I'm not sure > if it is worth making the Qemu save/restore code behave that way too. Maybe, I can't remember why I did it like that. It could have had something to with register layout.