All of lore.kernel.org
 help / color / mirror / Atom feed
From: mtosatti@redhat.com
To: qemu-devel@nongnu.org, aliguori@us.ibm.com
Cc: Marcelo Tosatti <mtosatti@redhat.com>
Subject: [Qemu-devel] [patch 11/14] qemu: use debug_requested global instead of cpu_exec return
Date: Wed, 22 Apr 2009 16:15:15 -0300	[thread overview]
Message-ID: <20090422192120.592687163@localhost.localdomain> (raw)
In-Reply-To: 20090422191504.975476933@localhost.localdomain

[-- Attachment #1: refactor-main-loop-2 --]
[-- Type: text/plain, Size: 1704 bytes --]

Necessary for the next refactoring patch.

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>

Index: qemu-iothread-4/vl.c
===================================================================
--- qemu-iothread-4.orig/vl.c
+++ qemu-iothread-4/vl.c
@@ -3504,6 +3504,7 @@ static QEMUResetEntry *first_reset_entry
 static int reset_requested;
 static int shutdown_requested;
 static int powerdown_requested;
+static int debug_requested;
 
 int qemu_shutdown_requested(void)
 {
@@ -3526,6 +3527,13 @@ int qemu_powerdown_requested(void)
     return r;
 }
 
+static int qemu_debug_requested(void)
+{
+    int r = debug_requested;
+    debug_requested = 0;
+    return r;
+}
+
 void qemu_register_reset(QEMUResetHandler *func, void *opaque)
 {
     QEMUResetEntry **pre, *re;
@@ -3955,6 +3963,8 @@ static int vm_can_run(void)
         return 0;
     if (shutdown_requested)
         return 0;
+    if (debug_requested)
+        return 0;
     return 1;
 }
 
@@ -3981,6 +3991,7 @@ static void main_loop(void)
                 ret = qemu_cpu_exec(env);
                 if (ret == EXCP_DEBUG) {
                     gdb_set_stop_cpu(env);
+                    debug_requested = 1;
                     break;
                 }
             }
@@ -3991,11 +4002,11 @@ static void main_loop(void)
 #ifdef CONFIG_PROFILER
             dev_time += profile_getclock() - ti;
 #endif
-        } while (ret != EXCP_DEBUG && vm_can_run());
+        } while (vm_can_run());
 
-        if (ret == EXCP_DEBUG)
-            vm_stop(EXCP_DEBUG);
 
+        if (qemu_debug_requested())
+            vm_stop(EXCP_DEBUG);
         if (qemu_shutdown_requested()) {
             if (no_shutdown) {
                 vm_stop(0);

-- 

  parent reply	other threads:[~2009-04-22 19:34 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20090407195126.467365249@localhost.localdomain>
     [not found] ` <20090407195442.646407971@localhost.localdomain>
2009-04-16 20:53   ` [Qemu-devel] Re: [patch 01/11] qemu: create helper for event notification Anthony Liguori
2009-04-16 20:58     ` Marcelo Tosatti
2009-04-17 17:21       ` Anthony Liguori
     [not found] ` <20090407195442.764405844@localhost.localdomain>
2009-04-17 13:53   ` [Qemu-devel] Re: [patch 02/11] qemu: mutex/thread/cond wrappers Anthony Liguori
     [not found] ` <20090407195443.004166674@localhost.localdomain>
2009-04-17 13:57   ` [Qemu-devel] Re: [patch 04/11] qemu: introduce main_loop_break Anthony Liguori
     [not found] ` <20090407195443.121795529@localhost.localdomain>
2009-04-17 14:05   ` [Qemu-devel] Re: [patch 05/11] qemu: separate thread for io Anthony Liguori
2009-04-18 20:45     ` Marcelo Tosatti
     [not found] ` <20090407195443.716079176@localhost.localdomain>
2009-04-17 14:07   ` [Qemu-devel] Re: [patch 10/11] qemu: make iothread selectable at compile time Anthony Liguori
     [not found] ` <20090407195443.832269134@localhost.localdomain>
2009-04-17 14:09   ` [Qemu-devel] Re: [patch 11/11] qemu: basic kvm iothread support Anthony Liguori
2009-04-22 19:15     ` [Qemu-devel] [patch 00/14] qemu: introduce iothread (v4) mtosatti
2009-04-22 19:15       ` [Qemu-devel] [patch 01/14] qemu: create helper for event notification mtosatti
2009-04-22 19:15       ` [Qemu-devel] [patch 02/14] qemu: mutex/thread/cond wrappers and configure tweaks mtosatti
2009-04-22 20:33         ` [Qemu-devel] " Anthony Liguori
2009-04-23 11:15           ` [Qemu-devel] svn trunk currently borked Martin Mohring
2009-04-23 11:58             ` Laurent Desnogues
2009-04-23 13:17               ` Anthony Liguori
2009-04-23 13:21               ` Martin Mohring
2009-04-22 19:15       ` [Qemu-devel] [patch 03/14] qemu: per-arch cpu_has_work mtosatti
2009-04-22 19:15       ` [Qemu-devel] [patch 04/14] qemu: explictly rearm alarm timer on main_loop_wait mtosatti
2009-04-22 19:15       ` [Qemu-devel] [patch 05/14] qemu: factor out special event notification mtosatti
2009-04-22 20:58         ` Anthony Liguori
2009-04-22 19:15       ` [Qemu-devel] [patch 06/14] qemu: refactor main_loop mtosatti
2009-04-22 19:15       ` [Qemu-devel] [patch 07/14] qemu: introduce qemu_init_vcpu mtosatti
2009-04-22 19:15       ` [Qemu-devel] [patch 08/14] qemu: introduce qemu_cpu_kick mtosatti
2009-04-22 19:15       ` [Qemu-devel] [patch 09/14] qemu: introduce qemu_init_main_loop mtosatti
2009-04-22 19:15       ` [Qemu-devel] [patch 10/14] qemu: introduce lock/unlock_iothread mtosatti
2009-04-22 19:15       ` mtosatti [this message]
2009-04-22 19:15       ` [Qemu-devel] [patch 12/14] qemu: refactor tcg cpu execution loop mtosatti
2009-04-22 19:15       ` [Qemu-devel] [patch 13/14] qemu: handle stop request in main loop mtosatti
2009-04-22 19:15       ` [Qemu-devel] [patch 14/14] qemu: introduce iothread mtosatti

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090422192120.592687163@localhost.localdomain \
    --to=mtosatti@redhat.com \
    --cc=aliguori@us.ibm.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.