qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 41/41] cpus: create qemu_cpu_is_vcpu()


From: Juan Quintela
Subject: [Qemu-devel] [PATCH 41/41] cpus: create qemu_cpu_is_vcpu()
Date: Fri, 21 Sep 2012 10:47:35 +0200

Old code used !io_thread to know if a thread was an vcpu or not.  That
fails when we introduce the iothread.

Signed-off-by: Juan Quintela <address@hidden>
---
 cpus.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/cpus.c b/cpus.c
index e476a3c..1b7061a 100644
--- a/cpus.c
+++ b/cpus.c
@@ -902,6 +902,11 @@ int qemu_cpu_is_self(void *_env)
     return qemu_thread_is_self(cpu->thread);
 }

+static bool qemu_cpu_is_vcpu(void)
+{
+    return cpu_single_env && qemu_cpu_is_self(&cpu_single_env);
+}
+
 void qemu_mutex_lock_iothread(void)
 {
     if (!tcg_enabled()) {
@@ -947,7 +952,7 @@ void pause_all_vcpus(void)
         penv = penv->next_cpu;
     }

-    if (!qemu_thread_is_self(&io_thread)) {
+    if (qemu_cpu_is_vcpu()) {
         cpu_stop_current();
         if (!kvm_enabled()) {
             while (penv) {
@@ -1064,7 +1069,7 @@ void cpu_stop_current(void)

 void vm_stop(RunState state)
 {
-    if (!qemu_thread_is_self(&io_thread)) {
+    if (qemu_cpu_is_vcpu()) {
         qemu_system_vmstop_request(state);
         /*
          * FIXME: should not return to device code in case
-- 
1.7.11.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]