On 11/25/21 4:41 PM, Alex Bennée wrote:
@@ -1738,7 +1738,7 @@ tb_invalidate_phys_page_range__locked(struct 
page_collection *pages,
      if (current_tb_modified) {
          page_collection_unlock(pages);
          /* Force execution of one insn next time.  */
-        cpu->cflags_next_tb = 1 | curr_cflags(cpu);
+        cpu->cflags_next_tb = 1 | CF_NOIRQ | curr_cflags(cpu);
          mmap_unlock();
          cpu_loop_exit_noexc(cpu);
      }

There's another instance in tb_invalidate_phys_page.

diff --git a/softmmu/physmem.c b/softmmu/physmem.c
index 314f8b439c..b43f92e900 100644
--- a/softmmu/physmem.c
+++ b/softmmu/physmem.c
@@ -946,7 +946,7 @@ void cpu_check_watchpoint(CPUState *cpu, vaddr addr, vaddr 
len,
                  cpu_loop_exit(cpu);
              } else {
                  /* Force execution of one insn next time.  */
-                cpu->cflags_next_tb = 1 | CF_LAST_IO | curr_cflags(cpu);
+                cpu->cflags_next_tb = 1 | CF_LAST_IO | CF_NOIRQ | 
curr_cflags(cpu);
                  mmap_unlock();
                  cpu_loop_exit_noexc(cpu);
              }

And a second instance in this function.


r~

Reply via email to