On 11/17/21 11:29 AM, Alex Bennée wrote:
Still missing something to avoid cpu_handle_interrupt firing?

Something as simple as:

--8<---------------cut here---------------start------------->8---
modified   accel/tcg/cpu-exec.c
@@ -721,6 +721,15 @@ static inline bool need_replay_interrupt(int 
interrupt_request)
  static inline bool cpu_handle_interrupt(CPUState *cpu,
                                          TranslationBlock **last_tb)
  {
+    /*
+     * If we have special cflags lets not get distracted with IRQs. We
+     * shall exit the loop as soon as the next TB completes what it
+     * needs to do.
+     */
+    if (cpu->cflags_next_tb != -1) {
+        return false;
+    }
+
      /* Clear the interrupt flag now since we're processing
       * cpu->interrupt_request and cpu->exit_request.
--8<---------------cut here---------------end--------------->8---

?

Yeah, that should do it.


r~

Reply via email to