From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=33022 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Q34ey-0007DI-GU for qemu-devel@nongnu.org; Fri, 25 Mar 2011 06:54:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Q34ew-00034S-KT for qemu-devel@nongnu.org; Fri, 25 Mar 2011 06:54:27 -0400 Received: from mail.sysgo.com ([195.145.229.155]:49830) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Q34ew-000343-Ea for qemu-devel@nongnu.org; Fri, 25 Mar 2011 06:54:26 -0400 Received: from lantia.sysgo.com (unknown [172.22.2.7]) by mail.sysgo.com (Postfix) with ESMTP id CE0DD14308 for ; Fri, 25 Mar 2011 11:54:23 +0100 (CET) Received: from [172.22.40.10] (azu.sysgo.com [172.22.40.10]) by lantia.sysgo.com (Postfix) with ESMTP id B396F5A281 for ; Fri, 25 Mar 2011 11:54:23 +0100 (CET) Message-ID: <4D8C745F.2000304@sysgo.com> Date: Fri, 25 Mar 2011 11:54:23 +0100 From: Alex Zuepke MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------090103010503020504010209" Subject: [Qemu-devel] ARM: BKPT instructions should raise prefetch aborts with IFSR type 00010 List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org This is a multi-part message in MIME format. --------------090103010503020504010209 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Hi, while digging through some problems with BKPT exceptions on ARM, I discovered that QEMU does not update IFSR on prefetch aborts. This should be done since ARMv6 according to ARM docs. Please include. Best Regards, Alex -- Alexander Zuepke azuepke@sysgo.com SYSGO AG ~ Am Pfaffenstein 14 ~ 55270 Klein-Winternheim ~ Germany --------------090103010503020504010209 Content-Type: text/x-diff; name="qemu_arm_bkpt_ifsr_update.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="qemu_arm_bkpt_ifsr_update.patch" target-arm: BKPT instructions should raise prefetch aborts with IFSR type 00010 diff against qemu 0.14.0 Signed-off-by: Alex Zuepke --- qemu-0.14.0.orig/target-arm/translate.c 2011-02-16 15:44:05.000000000 +0100 +++ qemu-0.14.0/target-arm/translate.c 2011-03-25 11:22:03.000000000 +0100 @@ -6389,6 +6389,7 @@ goto illegal_op; } /* bkpt */ + env->cp15.c5_insn = 2; gen_exception_insn(s, 4, EXCP_BKPT); break; case 0x8: /* signed multiply */ @@ -8930,6 +8931,7 @@ break; case 0xe: /* bkpt */ + env->cp15.c5_insn = 2; gen_exception_insn(s, 2, EXCP_BKPT); break; --------------090103010503020504010209--