]> Git Repo - qemu.git/blobdiff - exec.c
cuda: port GET_TIME command to new framework
[qemu.git] / exec.c
diff --git a/exec.c b/exec.c
index ca7f8df9093804da47e4cd6c6644d9fa1d3531ff..1f2450002bde41cc621f7b852e4cdd01db2e8e3b 100644 (file)
--- a/exec.c
+++ b/exec.c
@@ -2064,6 +2064,7 @@ static const MemoryRegionOps notdirty_mem_ops = {
 static void check_watchpoint(int offset, int len, MemTxAttrs attrs, int flags)
 {
     CPUState *cpu = current_cpu;
+    CPUClass *cc = CPU_GET_CLASS(cpu);
     CPUArchState *env = cpu->env_ptr;
     target_ulong pc, cs_base;
     target_ulong vaddr;
@@ -2089,6 +2090,11 @@ static void check_watchpoint(int offset, int len, MemTxAttrs attrs, int flags)
             wp->hitaddr = vaddr;
             wp->hitattrs = attrs;
             if (!cpu->watchpoint_hit) {
+                if (wp->flags & BP_CPU &&
+                    !cc->debug_check_watchpoint(cpu, wp)) {
+                    wp->flags &= ~BP_WATCHPOINT_HIT;
+                    continue;
+                }
                 cpu->watchpoint_hit = wp;
                 tb_check_watchpoint(cpu);
                 if (wp->flags & BP_STOP_BEFORE_ACCESS) {
This page took 0.023814 seconds and 4 git commands to generate.