From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1L2X9n-0003yk-OQ for qemu-devel@nongnu.org; Tue, 18 Nov 2008 15:26:43 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1L2X9n-0003yN-8t for qemu-devel@nongnu.org; Tue, 18 Nov 2008 15:26:43 -0500 Received: from [199.232.76.173] (port=60556 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1L2X9m-0003yI-V9 for qemu-devel@nongnu.org; Tue, 18 Nov 2008 15:26:43 -0500 Received: from savannah.gnu.org ([199.232.41.3]:45127 helo=sv.gnu.org) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1L2X9m-00088W-QE for qemu-devel@nongnu.org; Tue, 18 Nov 2008 15:26:43 -0500 Received: from cvs.savannah.gnu.org ([199.232.41.69]) by sv.gnu.org with esmtp (Exim 4.63) (envelope-from ) id 1L2X9l-0000SW-Pf for qemu-devel@nongnu.org; Tue, 18 Nov 2008 20:26:41 +0000 Received: from aliguori by cvs.savannah.gnu.org with local (Exim 4.63) (envelope-from ) id 1L2X9l-0000SS-Dv for qemu-devel@nongnu.org; Tue, 18 Nov 2008 20:26:41 +0000 MIME-Version: 1.0 Errors-To: aliguori Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From: Anthony Liguori Message-Id: Date: Tue, 18 Nov 2008 20:26:41 +0000 Subject: [Qemu-devel] [5742] Remove premature memop TB terminations (Jan Kiszka) 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 Revision: 5742 http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=5742 Author: aliguori Date: 2008-11-18 20:26:41 +0000 (Tue, 18 Nov 2008) Log Message: ----------- Remove premature memop TB terminations (Jan Kiszka) Now that we can properly restore the pc on watchpoint hits, there is no more need for prematurely terminating TBs if watchpoints are present. Remove all related bits. Signed-off-by: Jan Kiszka Signed-off-by: Anthony Liguori Modified Paths: -------------- trunk/exec.c trunk/target-arm/translate.c trunk/target-m68k/translate.c Modified: trunk/exec.c =================================================================== --- trunk/exec.c 2008-11-18 20:24:06 UTC (rev 5741) +++ trunk/exec.c 2008-11-18 20:26:41 UTC (rev 5742) @@ -1325,10 +1325,6 @@ env->watchpoints = wp; tlb_flush_page(env, addr); - /* FIXME: This flush is needed because of the hack to make memory ops - terminate the TB. It can be removed once the proper IO trap and - re-execute bits are in. */ - tb_flush(env); if (watchpoint) *watchpoint = wp; Modified: trunk/target-arm/translate.c =================================================================== --- trunk/target-arm/translate.c 2008-11-18 20:24:06 UTC (rev 5741) +++ trunk/target-arm/translate.c 2008-11-18 20:26:41 UTC (rev 5742) @@ -8729,12 +8729,6 @@ gen_set_label(dc->condlabel); dc->condjmp = 0; } - /* Terminate the TB on memory ops if watchpoints are present. */ - /* FIXME: This should be replacd by the deterministic execution - * IRQ raising bits. */ - if (dc->is_mem && env->watchpoints) - break; - /* Translation stops when a conditional branch is enoutered. * Otherwise the subsequent code could get translated several times. * Also stop translation when a page boundary is reached. This Modified: trunk/target-m68k/translate.c =================================================================== --- trunk/target-m68k/translate.c 2008-11-18 20:24:06 UTC (rev 5741) +++ trunk/target-m68k/translate.c 2008-11-18 20:26:41 UTC (rev 5742) @@ -3027,12 +3027,6 @@ dc->insn_pc = dc->pc; disas_m68k_insn(env, dc); num_insns++; - - /* Terminate the TB on memory ops if watchpoints are present. */ - /* FIXME: This should be replaced by the deterministic execution - * IRQ raising bits. */ - if (dc->is_mem && env->watchpoints) - break; } while (!dc->is_jmp && gen_opc_ptr < gen_opc_end && !env->singlestep_enabled && (pc_offset) < (TARGET_PAGE_SIZE - 32) &&