From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JgOTz-0001MB-Bg for qemu-devel@nongnu.org; Mon, 31 Mar 2008 14:11:47 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JgOTw-0001JO-DA for qemu-devel@nongnu.org; Mon, 31 Mar 2008 14:11:46 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JgOTw-0001JH-7Q for qemu-devel@nongnu.org; Mon, 31 Mar 2008 14:11:44 -0400 Received: from eu1094f.lyceu.net ([213.193.24.113]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1JgOTv-0006Lp-Pi for qemu-devel@nongnu.org; Mon, 31 Mar 2008 14:11:44 -0400 Received: from eu1106f.lyceu.net (eu1106m.lyceu.net [172.18.200.199]) by eu1094f.lyceu.net (Postfix) with ESMTP id 6681729AC3E for ; Mon, 31 Mar 2008 20:11:31 +0200 (CEST) Received: from 127.0.0.1/32:33684 (from=; helo=eu1106f.lyceu.net) by eXpurgate V2.0.6.1, id=150420::080331201131-7B373080-41322DE5 for ; Mon, 31 Mar 2008 20:11:31 +0200 Received: from UlrikaP (telusiz.olf.sgsnet.se [193.11.217.38]) by eu1106f.lyceu.net (Postfix) with ESMTP for ; Mon, 31 Mar 2008 20:11:31 +0200 (CEST) From: =?iso-8859-1?Q?Torbj=F6rn_Andersson?= Date: Mon, 31 Mar 2008 20:11:29 +0200 Message-ID: <000b01c8935a$a50ef620$ef2ce260$@tt@home.se> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_000C_01C8936B.6897C620" Content-Language: sv Subject: [Qemu-devel] Bug: ARM Multiple Load (Thumb) 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 Det här är ett flerdelat meddelande i MIME-format. ------=_NextPart_000_000C_01C8936B.6897C620 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable During data exceptions the following scenario fails =20 LDM R0, {R0 R1} // where the first word is read in page X and the = second in page x+1 =20 R0 is then updated with the loaded value and the instruction cannot be =93replayed=94 when the exception handler has updated the MMU. The fix = is trivial, just store the R0 value in T2 until all other loads have been performed. I have a fix for the old non-tcg code but it does not seem relevant anymore. (Paul: Great work with TCG, looking forward to test it soon)=20 =20 Best Regards Torbj=F6rn =20 ------=_NextPart_000_000C_01C8936B.6897C620 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable

During data exceptions the = following scenario fails

 

LDM R0, {R0 R1} =A0// where the = first word is read in page X and the second in page x+1

 

R0 is then updated with the = loaded value and the instruction cannot be “replayed” when the exception = handler has updated the MMU. The fix is trivial, just store the R0 value in T2 = until all other loads have been performed. I have a fix for the old non-tcg = code but it does not seem relevant anymore. (Paul: Great work with TCG, looking = forward to test it soon)

 

Best = Regards

Torbj=F6rn

=A0

------=_NextPart_000_000C_01C8936B.6897C620--