From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LsHEm-0000kS-Iq for qemu-devel@nongnu.org; Fri, 10 Apr 2009 09:57:44 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LsHEh-0000gR-Sm for qemu-devel@nongnu.org; Fri, 10 Apr 2009 09:57:44 -0400 Received: from [199.232.76.173] (port=57588 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LsHEh-0000gG-DA for qemu-devel@nongnu.org; Fri, 10 Apr 2009 09:57:39 -0400 Received: from mail-fx0-f169.google.com ([209.85.220.169]:33346) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LsHEg-0002io-QM for qemu-devel@nongnu.org; Fri, 10 Apr 2009 09:57:39 -0400 Received: by fxm17 with SMTP id 17so984824fxm.34 for ; Fri, 10 Apr 2009 06:57:37 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: References: Date: Fri, 10 Apr 2009 16:57:37 +0300 Message-ID: From: Blue Swirl Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] Re: sparc32 boot breakage on ppc host Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?UTF-8?Q?Andreas_F=C3=A4rber?= Cc: The OpenBIOS Mailinglist , qemu-devel On 4/10/09, Andreas F=C3=A4rber wrote: > > Am 10.04.2009 um 14:57 schrieb Blue Swirl: > > > > On 4/10/09, Andreas F=C3=A4rber wrote: > > > > > > > [...] It > > > hangs after "Booting file ... with parameters '' Trying ..." (before > "Not a > > > bootable ELF image"). > > > > > > These are the results of my bisection: > > > > > > r482 (QEMU r6962) nope > > > r479 (QEMU r6777) nope > > > 1.0 (QEMU r6658 + > > > 9794f74f9c1dd0fbef30ded9e5c14c28a6fa579b) nope > > > ??? (QEMU r6563 + > > > 9794f74f9c1dd0fbef30ded9e5c14c28a6fa579b) nope > > > ??? (QEMU r6273 + > e58ffeb322e2ef88cc23e9505366418bf793316d > > > w/ --disable-aio) works > > > r237 (QEMU r5262) works > > > > > > Has anyone recently been successful booting on ppc, could this be som= e > > > endianness issue? It works fine on OpenSolaris/amd64 host. > > > > > > > It also works on OpenBSD/Sparc64 host, which is big endian. Linux/i386 > > works too, so 32 bit case is covered. > > > > I doubt that this can be a problem in OpenBIOS, I find QEMU more > > likely suspect. Can you boot any other big endian targets on PPC, for > > example PPC? > > > > Yes, ppc-softmmu boots Debian CD fine. > > However, ppc64-softmmu booting Debian CD segfaults immediately. > > sparc64-softmmu booting Solaris 10 U3 DVD immediately crashes with the > following output: > > qemu: fatal: Trap 0x0010 while trap level (5) >=3D MAXTL (5), Error stat= e > pc: 0000000000004200 npc: 0000000000004204 > General Registers: > %g0: 0000000000000000 %g1: 0000000000000000 %g2: 0000000000000000 > %g3: 0000000000000000 > %g4: 0000000000000000 %g5: 0000000000000000 %g6: 0000000000000000 > %g7: 0000000000000000 > Current Register Window: > %o0: 00000000ffd70000 %o1: 00000000ffd71000 %o2: 000001fff0070000 > %o3: 000001fff0000000 > %o4: 0000000000000000 %o5: 0000000000000000 %o6: 0000000000000000 > %o7: 000001ff00000000 > %l0: 000000000fee0000 %l1: 000001ff00000000 %l2: 000001fff0030000 > %l3: 0000000000000000 > %l4: 0000000000000000 %l5: 0000000000000000 %l6: 0000000000000000 > %l7: 0000000000000000 > %i0: 0000000000000000 %i1: 0000000000000000 %i2: 0000000000000000 > %i3: 0000000000000000 > %i4: 0000000000000000 %i5: 0000000000000000 %i6: 0000000000000000 > %i7: 0000000000000000 > > Floating Point Registers: > %f00: 000000000.000000 000000000.000000 000000000.000000 000000000.00000= 0 > %f04: 000000000.000000 000000000.000000 000000000.000000 000000000.00000= 0 > %f08: 000000000.000000 000000000.000000 000000000.000000 000000000.00000= 0 > %f12: 000000000.000000 000000000.000000 000000000.000000 000000000.00000= 0 > %f16: 000000000.000000 000000000.000000 000000000.000000 000000000.00000= 0 > %f20: 000000000.000000 000000000.000000 000000000.000000 000000000.00000= 0 > %f24: 000000000.000000 000000000.000000 000000000.000000 000000000.00000= 0 > %f28: 000000000.000000 000000000.000000 000000000.000000 000000000.00000= 0 > pstate: 0x00000015 ccr: 0x99 asi: 0x00 tl: 5 fprs: 0 > cansave: 6 canrestore: 0 otherwin: 0 wstate 0 cleanwin 6 cwp 7 > fsr: 0x00000000 Sparc64-softmmu boots Linux (crashes during kernel init) on amd64 and i386 hosts. It also crashes on sparc64, but not that quickly. The screen gets yellow and on serial console there are a few lines: OpenBIOS for Sparc64 Configuration device id QEMU version 1 machine id 0 Unhandled Exception 0x0000000000000068 PC =3D 0x00000000ffd1ec04 NPC =3D 0x00000000ffd1ec08 Stopping execution The bugs could be in PPC TCG target support (Sparc32/64 translation may call different functions than PPC translation), or Sparc translator could call the code generator wrong way.