static int cpu_has_work(CPUOldState *env) { if (env->stop) return 1; if (env->stopped) return 0; if (!env->halted) return 1; if (qemu_cpu_has_work(env)) return 1; return 0; }
static int cpu_has_work(CPUState *env) { if (env->stop) return 1; if (env->stopped || !vm_running) return 0; if (!env->halted) return 1; if (qemu_cpu_has_work(env)) return 1; return 0; }
static bool cpu_thread_is_idle(CPUArchState *env) { if (env->stop || env->queued_work_first) { return false; } if (env->stopped || !runstate_is_running()) { return true; } if (!env->halted || qemu_cpu_has_work(env) || kvm_irqchip_in_kernel()) { return false; } return true; }
static bool cpu_thread_is_idle(CPUState *env) { if (env->stop || env->queued_work_first) { return false; } if (env->stopped || !vm_running) { return true; } if (!env->halted || qemu_cpu_has_work(env) || (kvm_enabled() && kvm_irqchip_in_kernel())) { return false; } return true; }
static bool cpu_thread_is_idle(CPUState *cpu) { if (cpu->stop || cpu->queued_work_first) { return false; } if (cpu_is_stopped(cpu)) { return true; } if (!cpu->halted || qemu_cpu_has_work(cpu) || kvm_halt_in_kernel()) { return false; } return true; }
static bool cpu_thread_is_idle(CPUArchState *env) { CPUState *cpu = ENV_GET_CPU(env); if (cpu->stop || cpu->queued_work_first) { return false; } if (cpu->stopped || !runstate_is_running()) { return true; } if (!env->halted || qemu_cpu_has_work(cpu) || kvm_async_interrupts_enabled()) { return false; } return true; }