Always process real timers regardless of singlestep mode (Jason Wessel).
authoredgar_igl <edgar_igl@c046a42c-6fe2-441c-8c8c-71466251a162>
Thu, 15 May 2008 19:54:00 +0000 (19:54 +0000)
committeredgar_igl <edgar_igl@c046a42c-6fe2-441c-8c8c-71466251a162>
Thu, 15 May 2008 19:54:00 +0000 (19:54 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4462 c046a42c-6fe2-441c-8c8c-71466251a162

cpu-exec.c
vl.c

index 435fdf85df28c97f18b758e398ef1980b050e166..5fd9cad4aa394e50bec18077468b4350e541e498 100644 (file)
@@ -420,7 +420,7 @@ int cpu_exec(CPUState *env1)
 #if defined(TARGET_I386)
                        && env->hflags & HF_GIF_MASK
 #endif
-            && !(env->singlestep_enabled & SSTEP_NOIRQ)) {
+            && likely(!(env->singlestep_enabled & SSTEP_NOIRQ))) {
                     if (interrupt_request & CPU_INTERRUPT_DEBUG) {
                         env->interrupt_request &= ~CPU_INTERRUPT_DEBUG;
                         env->exception_index = EXCP_DEBUG;
diff --git a/vl.c b/vl.c
index 67712f0ce3a1f82b56bf96fe939a68db7b6ccf3d..5430ae643035ed96e99b030ed6f655b77298d7d6 100644 (file)
--- a/vl.c
+++ b/vl.c
@@ -7032,7 +7032,7 @@ void main_loop_wait(int timeout)
     qemu_aio_poll();
 
     if (vm_running) {
-        if (!(cur_cpu->singlestep_enabled & SSTEP_NOTIMER))
+        if (likely(!(cur_cpu->singlestep_enabled & SSTEP_NOTIMER)))
         qemu_run_timers(&active_timers[QEMU_TIMER_VIRTUAL],
                         qemu_get_clock(vm_clock));
         /* run dma transfers, if any */
@@ -7040,7 +7040,6 @@ void main_loop_wait(int timeout)
     }
 
     /* real time timers */
-    if (!(cur_cpu->singlestep_enabled & SSTEP_NOTIMER))
     qemu_run_timers(&active_timers[QEMU_TIMER_REALTIME],
                     qemu_get_clock(rt_clock));