cpus.c: Make all_cpu_threads_idle() static
Commit 946fb27c1
moved all the uses of all_cpu_threads_idle()
into cpus.c. This means we can mark the function 'static'
(again), if we shuffle it a bit earlier in the source file.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
This commit is contained in:
parent
7c7bb0223e
commit
ac873f1ed5
52
cpus.c
52
cpus.c
|
@ -61,6 +61,32 @@
|
||||||
|
|
||||||
static CPUArchState *next_cpu;
|
static CPUArchState *next_cpu;
|
||||||
|
|
||||||
|
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 all_cpu_threads_idle(void)
|
||||||
|
{
|
||||||
|
CPUArchState *env;
|
||||||
|
|
||||||
|
for (env = first_cpu; env != NULL; env = env->next_cpu) {
|
||||||
|
if (!cpu_thread_is_idle(env)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/***********************************************************/
|
/***********************************************************/
|
||||||
/* guest cycle counter */
|
/* guest cycle counter */
|
||||||
|
|
||||||
|
@ -433,32 +459,6 @@ static int cpu_can_run(CPUArchState *env)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool all_cpu_threads_idle(void)
|
|
||||||
{
|
|
||||||
CPUArchState *env;
|
|
||||||
|
|
||||||
for (env = first_cpu; env != NULL; env = env->next_cpu) {
|
|
||||||
if (!cpu_thread_is_idle(env)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void cpu_handle_guest_debug(CPUArchState *env)
|
static void cpu_handle_guest_debug(CPUArchState *env)
|
||||||
{
|
{
|
||||||
gdb_set_stop_cpu(env);
|
gdb_set_stop_cpu(env);
|
||||||
|
|
|
@ -293,7 +293,6 @@ int cpu_load(QEMUFile *f, void *opaque, int version_id);
|
||||||
void qemu_cpu_kick(void *env);
|
void qemu_cpu_kick(void *env);
|
||||||
void qemu_cpu_kick_self(void);
|
void qemu_cpu_kick_self(void);
|
||||||
int qemu_cpu_is_self(void *env);
|
int qemu_cpu_is_self(void *env);
|
||||||
bool all_cpu_threads_idle(void);
|
|
||||||
|
|
||||||
/* work queue */
|
/* work queue */
|
||||||
struct qemu_work_item {
|
struct qemu_work_item {
|
||||||
|
|
Loading…
Reference in a new issue