qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 1/3] icount: preserve cflags when custom tb is about to ex


From: Richard Henderson
Subject: Re: [PATCH v2 1/3] icount: preserve cflags when custom tb is about to execute
Date: Wed, 17 Nov 2021 11:03:59 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.14.0

On 11/17/21 10:47 AM, Alex Bennée wrote:
-    gen_set_label(tcg_ctx->exitreq_label);
+    if (tcg_ctx->exitreq_label) {
+        gen_set_label(tcg_ctx->exitreq_label);
+    }
      tcg_gen_exit_tb(tb, TB_EXIT_REQUESTED);

The exit_tb is also not reachable, and should go in with the label.

  }
modified accel/tcg/cpu-exec.c
@@ -954,11 +954,16 @@ int cpu_exec(CPUState *cpu)
               * after-access watchpoints.  Since this request should never
               * have CF_INVALID set, -1 is a convenient invalid value that
               * does not require tcg headers for cpu_common_reset.
+             *
+             * As we don't want this special TB being interrupted by
+             * some sort of asynchronous event we apply CF_NOIRQ to
+             * disable the usual event checking.
               */
              cflags = cpu->cflags_next_tb;
              if (cflags == -1) {
                  cflags = curr_cflags(cpu);
              } else {
+                cflags |= CF_NOIRQ;
                  cpu->cflags_next_tb = -1;
              }

Still missing something to avoid cpu_handle_interrupt firing?


r~



reply via email to

[Prev in Thread] Current Thread [Next in Thread]