diff options
author | Andreas Färber <afaerber@suse.de> | 2012-05-02 22:23:49 +0200 |
---|---|---|
committer | Andreas Färber <afaerber@suse.de> | 2012-10-31 01:02:39 +0100 |
commit | 60e82579c75068cb49af95595aa99d727e657a0a (patch) | |
tree | 4ccc33ee8444f12782c5491ffdfc56660d8c5c87 /cpus.c | |
parent | e9f9d6b16510776ae3d07e91b1cfb4d412701270 (diff) | |
download | qemu-60e82579c75068cb49af95595aa99d727e657a0a.zip qemu-60e82579c75068cb49af95595aa99d727e657a0a.tar.gz qemu-60e82579c75068cb49af95595aa99d727e657a0a.tar.bz2 |
cpus: Pass CPUState to qemu_cpu_is_self()
Change return type to bool, move to include/qemu/cpu.h and
add documentation.
Signed-off-by: Andreas Färber <afaerber@suse.de>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
[AF: Updated new caller qemu_in_vcpu_thread()]
Diffstat (limited to 'cpus.c')
-rw-r--r-- | cpus.c | 12 |
1 files changed, 5 insertions, 7 deletions
@@ -638,9 +638,10 @@ void qemu_init_cpu_loop(void) void run_on_cpu(CPUArchState *env, void (*func)(void *data), void *data) { + CPUState *cpu = ENV_GET_CPU(env); struct qemu_work_item wi; - if (qemu_cpu_is_self(env)) { + if (qemu_cpu_is_self(cpu)) { func(data); return; } @@ -855,7 +856,7 @@ static void qemu_cpu_kick_thread(CPUArchState *env) exit(1); } #else /* _WIN32 */ - if (!qemu_cpu_is_self(env)) { + if (!qemu_cpu_is_self(cpu)) { SuspendThread(cpu->hThread); cpu_signal(0); ResumeThread(cpu->hThread); @@ -890,17 +891,14 @@ void qemu_cpu_kick_self(void) #endif } -int qemu_cpu_is_self(void *_env) +bool qemu_cpu_is_self(CPUState *cpu) { - CPUArchState *env = _env; - CPUState *cpu = ENV_GET_CPU(env); - return qemu_thread_is_self(cpu->thread); } static bool qemu_in_vcpu_thread(void) { - return cpu_single_env && qemu_cpu_is_self(cpu_single_env); + return cpu_single_env && qemu_cpu_is_self(ENV_GET_CPU(cpu_single_env)); } void qemu_mutex_lock_iothread(void) |