From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1IBqnC-0002Qt-QA for qemu-devel@nongnu.org; Fri, 20 Jul 2007 07:37:06 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1IBqnC-0002Qc-4s for qemu-devel@nongnu.org; Fri, 20 Jul 2007 07:37:06 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IBqnB-0002QZ-Vv for qemu-devel@nongnu.org; Fri, 20 Jul 2007 07:37:06 -0400 Received: from khepri.openbios.org ([80.190.231.112]) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1IBqnB-0003vP-J7 for qemu-devel@nongnu.org; Fri, 20 Jul 2007 07:37:05 -0400 Date: Fri, 20 Jul 2007 13:36:58 +0200 From: Stefan Reinauer Subject: Re: [OpenBIOS] [Qemu-devel] Re: What is the current support state for Sparc emulation Message-ID: <20070720113658.GA19150@coresystems.de> References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: The OpenBIOS Mailinglist Cc: qemu-devel@nongnu.org * Blue Swirl [070719 20:46]: > On 7/19/07, spectral@op.pl wrote: > > Unhandled Exception 0x00000007 > > PC = 0xffd0a55c NPC = 0xffd09374 > > Stopping execution > > > > So this is my report, I hope it can be of some use. I'll try to boot sparc version of OpenSolaris soon and I'l let you know how it went. > > Thanks for the report. Exception 7 is unaligned access, support for > detection of unaligned accesses in QEMU was improved recently. > > The exception happens inside OpenBIOS: > 0xffd0a55c is in lstore (kernel/forth.c:649). > 644 > 645 static void lstore(void) > 646 { > 647 const u32 *aaddr = (u32 *)cell2pointer(POP()); > 648 const u32 longval = POP(); > 649 write_long(aaddr, longval); > 650 } > > Maybe write_long should handle unaligned addresses? Possibly. But something is wrong. Unaligned accesses should be done with unaligned-l@ ( addr -- quad ) instead of l@. So either the pointer was calculated wrong or Solaris does not care about alignment in l@ If you change it, please make the change specific to sparc. Stefan -- coresystems GmbH • Brahmsstr. 16 • D-79104 Freiburg i. Br. Tel.: +49 761 7668825 • Fax: +49 761 7664613 Email: info@coresystems.de • http://www.coresystems.de/