From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1I3v23-0000gA-4T for qemu-devel@nongnu.org; Thu, 28 Jun 2007 10:31:39 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1I3v21-0000fO-CQ for qemu-devel@nongnu.org; Thu, 28 Jun 2007 10:31:38 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1I3v20-0000fG-WA for qemu-devel@nongnu.org; Thu, 28 Jun 2007 10:31:37 -0400 Received: from ns.suse.de ([195.135.220.2] helo=mx1.suse.de) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1I3v20-0006uY-G6 for qemu-devel@nongnu.org; Thu, 28 Jun 2007 10:31:36 -0400 Received: from Relay2.suse.de (mail2.suse.de [195.135.221.8]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.suse.de (Postfix) with ESMTP id 34098124E0 for ; Thu, 28 Jun 2007 16:31:33 +0200 (CEST) From: Ulrich Hecht Date: Thu, 28 Jun 2007 16:31:32 +0200 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Disposition: inline Message-Id: <200706281631.32640.uli@suse.de> Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [PATCH] ARM (Thumb) read from R15 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 Hi! QEMU does not set the Thumb bit when reading from R15 in Thumb mode.=20 Here's the fix: Index: target-arm/translate.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /sources/qemu/qemu/target-arm/translate.c,v retrieving revision 1.53 diff -u -r1.53 translate.c --- target-arm/translate.c 11 Jun 2007 18:59:35 -0000 1.53 +++ target-arm/translate.c 28 Jun 2007 14:29:15 -0000 @@ -307,7 +307,7 @@ if (reg =3D=3D 15) { /* normaly, since we updated PC, we need only to add one insn */ if (s->thumb) - val =3D (long)s->pc + 2; + val =3D (long)s->pc + 3; else val =3D (long)s->pc + 4; gen_op_movl_TN_im[t](val); CU Uli --=20 SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG N=FCrnberg)