From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=59994 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PF9S4-0002vh-JM for qemu-devel@nongnu.org; Sun, 07 Nov 2010 12:54:49 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PF9S3-0001R7-GK for qemu-devel@nongnu.org; Sun, 07 Nov 2010 12:54:48 -0500 Received: from mail-qy0-f180.google.com ([209.85.216.180]:58486) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PF9S3-0001R3-8O for qemu-devel@nongnu.org; Sun, 07 Nov 2010 12:54:47 -0500 Received: by qyk1 with SMTP id 1so4508721qyk.4 for ; Sun, 07 Nov 2010 09:54:46 -0800 (PST) MIME-Version: 1.0 In-Reply-To: References: From: Artyom Tarasenko Date: Sun, 7 Nov 2010 18:54:26 +0100 Message-ID: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] Re: [sparc] Unassigned mem read access on writing? List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Blue Swirl Cc: qemu-devel On Sun, Nov 7, 2010 at 3:56 PM, Blue Swirl wrote: > On Fri, Nov 5, 2010 at 5:48 PM, Artyom Tarasenko wr= ote: >> Trying to boot Solaris 2.1 I get the following error message: >> >> Unassigned mem read access of 1 byte to ffffffffffff0768 from f0014768 >> qemu: fatal: Trap 0x29 while interrupts disabled, Error state >> pc: f0014768 =A0npc: f001476c >> >> Looks like a read access to a non-mapped memory (the NF-bit is 0). But >> where can it happen? >> >> The code: >> >> =A0 0xf001475c: =A0mov =A00x200, %o4 >> =3D> 0xf0014760: =A0lda =A0[ %o4 ] #ASI_N, %o3 >> =A0 0xf0014764: =A0sta =A0%o2, [ %o4 ] #ASI_N >> =A0 0xf0014768: =A0sta =A0%g0, [ %o0 ] (3) >> =A0 0xf001476c: =A0cmp =A0%o2, %o3 >> =A0 0xf0014770: =A0bne =A00xf001477c >> End of assembler dump. >> (gdb) stepi >> 0xf0014764 in ?? () >> (gdb) info registers o2 >> o2 =A0 =A0 =A0 =A0 =A0 =A0 0x28a =A0 =A0650 >> (gdb) stepi >> Remote connection closed >> (gdb) >> >> Any ideas how to debug? > > All accesses are 32 bits wide. ASI_N is 4 and the other store access > is to ASI 3 (MMU flush). I don't see how this is possible. > > Perhaps PC and NPC are not updated as they should. If you insert a > breakpoint at the offending instruction, do you get the same error as > above with the same PC/NPC value? The crash is the same but it doesn't break. The option -singlestep makes no difference either. The log tail of ran with -d in_asm -singlestep: IN: 0xf0014760: lda [ %o4 ] #ASI_M_MMUREGS, %o3 -------------- IN: 0xf0014764: sta %o2, [ %o4 ] #ASI_M_MMUREGS qemu: fatal: Trap 0x29 while interrupts disabled, Error state pc: f0014768 npc: f001476c --=20 Regards, Artyom Tarasenko solaris/sparc under qemu blog: http://tyom.blogspot.com/