• P
    do not use timedwait on qemu_halt_cond · 9705fbb5
    Paolo Bonzini 提交于
    The following conditions can cause cpu_has_work(env) to become true:
    
    - env->queued_work_first: run_on_cpu is already kicking the VCPU
    
    - env->stop = 1: pause_all_vcpus is already kicking the VCPU
    
    - env->stopped = 0: resume_all_vcpus is already kicking the VCPU
    
    - vm_running = 1: vm_start is calling resume_all_vcpus
    
    - env->halted = 0: see previous patch
    
    - qemu_cpu_has_work(env): when it becomes true, board code should set
      env->halted = 0 too.
    Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
    9705fbb5
cpus.c 25.4 KB