[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 07/12] Remove premature memop TB terminations
From: |
Jan Kiszka |
Subject: |
[Qemu-devel] [PATCH 07/12] Remove premature memop TB terminations |
Date: |
Mon, 03 Nov 2008 11:36:05 +0100 |
User-agent: |
quilt/0.46_cvs20080326-19.1 |
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 <address@hidden>
---
exec.c | 4 ----
target-arm/translate.c | 6 ------
target-m68k/translate.c | 6 ------
3 files changed, 16 deletions(-)
Index: b/exec.c
===================================================================
--- a/exec.c
+++ b/exec.c
@@ -1319,10 +1319,6 @@ int cpu_watchpoint_insert(CPUState *env,
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;
Index: b/target-arm/translate.c
===================================================================
--- a/target-arm/translate.c
+++ b/target-arm/translate.c
@@ -8715,12 +8715,6 @@ static inline void gen_intermediate_code
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
Index: b/target-m68k/translate.c
===================================================================
--- a/target-m68k/translate.c
+++ b/target-m68k/translate.c
@@ -2979,12 +2979,6 @@ gen_intermediate_code_internal(CPUState
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) &&
- Re: [Qemu-devel] Re: [PATCH 03/12] Refactor and enhance break/watchpoint API, (continued)
[Qemu-devel] [PATCH 04/12] Set mem_io_vaddr on io_read, Jan Kiszka, 2008/11/03
[Qemu-devel] [PATCH 06/12] Restore pc on watchpoint hits, Jan Kiszka, 2008/11/03
[Qemu-devel] [PATCH 11/12] Introduce BP_CPU as a breakpoint type, Jan Kiszka, 2008/11/03
[Qemu-devel] [PATCH 08/12] qemu: gdbstub: manage CPUs as threads, Jan Kiszka, 2008/11/03
[Qemu-devel] [PATCH 09/12] Introduce BP_WATCHPOINT_HIT flag, Jan Kiszka, 2008/11/03
[Qemu-devel] [PATCH 07/12] Remove premature memop TB terminations,
Jan Kiszka <=
[Qemu-devel] [PATCH 01/12] Refactor translation block CPU state handling, Jan Kiszka, 2008/11/03
[Qemu-devel] [PATCH 12/12] x86: Debug register emulation, Jan Kiszka, 2008/11/03
[Qemu-devel] [PATCH 05/12] Respect length of watchpoints, Jan Kiszka, 2008/11/03
Re: [Qemu-devel] [PATCH 00/12] Enhance debugging support - 4th take, Anthony Liguori, 2008/11/13
Re: [Qemu-devel] [PATCH 00/12] Enhance debugging support - 4th take, Fabrice Bellard, 2008/11/13