Commit 21b20814ed882114a0d5b658cfdb1fc60c761816
1 parent
cf7c2ca5
Always process real timers regardless of singlestep mode (Jason Wessel).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4462 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
2 changed files
with
2 additions
and
3 deletions
cpu-exec.c
| @@ -420,7 +420,7 @@ int cpu_exec(CPUState *env1) | @@ -420,7 +420,7 @@ int cpu_exec(CPUState *env1) | ||
| 420 | #if defined(TARGET_I386) | 420 | #if defined(TARGET_I386) |
| 421 | && env->hflags & HF_GIF_MASK | 421 | && env->hflags & HF_GIF_MASK |
| 422 | #endif | 422 | #endif |
| 423 | - && !(env->singlestep_enabled & SSTEP_NOIRQ)) { | 423 | + && likely(!(env->singlestep_enabled & SSTEP_NOIRQ))) { |
| 424 | if (interrupt_request & CPU_INTERRUPT_DEBUG) { | 424 | if (interrupt_request & CPU_INTERRUPT_DEBUG) { |
| 425 | env->interrupt_request &= ~CPU_INTERRUPT_DEBUG; | 425 | env->interrupt_request &= ~CPU_INTERRUPT_DEBUG; |
| 426 | env->exception_index = EXCP_DEBUG; | 426 | env->exception_index = EXCP_DEBUG; |
vl.c
| @@ -7032,7 +7032,7 @@ void main_loop_wait(int timeout) | @@ -7032,7 +7032,7 @@ void main_loop_wait(int timeout) | ||
| 7032 | qemu_aio_poll(); | 7032 | qemu_aio_poll(); |
| 7033 | 7033 | ||
| 7034 | if (vm_running) { | 7034 | if (vm_running) { |
| 7035 | - if (!(cur_cpu->singlestep_enabled & SSTEP_NOTIMER)) | 7035 | + if (likely(!(cur_cpu->singlestep_enabled & SSTEP_NOTIMER))) |
| 7036 | qemu_run_timers(&active_timers[QEMU_TIMER_VIRTUAL], | 7036 | qemu_run_timers(&active_timers[QEMU_TIMER_VIRTUAL], |
| 7037 | qemu_get_clock(vm_clock)); | 7037 | qemu_get_clock(vm_clock)); |
| 7038 | /* run dma transfers, if any */ | 7038 | /* run dma transfers, if any */ |
| @@ -7040,7 +7040,6 @@ void main_loop_wait(int timeout) | @@ -7040,7 +7040,6 @@ void main_loop_wait(int timeout) | ||
| 7040 | } | 7040 | } |
| 7041 | 7041 | ||
| 7042 | /* real time timers */ | 7042 | /* real time timers */ |
| 7043 | - if (!(cur_cpu->singlestep_enabled & SSTEP_NOTIMER)) | ||
| 7044 | qemu_run_timers(&active_timers[QEMU_TIMER_REALTIME], | 7043 | qemu_run_timers(&active_timers[QEMU_TIMER_REALTIME], |
| 7045 | qemu_get_clock(rt_clock)); | 7044 | qemu_get_clock(rt_clock)); |
| 7046 | 7045 |