From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JhpWu-0001dU-Do for qemu-devel@nongnu.org; Fri, 04 Apr 2008 13:16:44 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JhpWs-0001ba-Tv for qemu-devel@nongnu.org; Fri, 04 Apr 2008 13:16:43 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JhpWs-0001bO-Nx for qemu-devel@nongnu.org; Fri, 04 Apr 2008 13:16:42 -0400 Received: from savannah.gnu.org ([199.232.41.3] helo=sv.gnu.org) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1JhpWs-0004w3-Gy for qemu-devel@nongnu.org; Fri, 04 Apr 2008 13:16:42 -0400 Received: from cvs.savannah.gnu.org ([199.232.41.69]) by sv.gnu.org with esmtp (Exim 4.63) (envelope-from ) id 1JhpWo-00087P-Cv for qemu-devel@nongnu.org; Fri, 04 Apr 2008 17:16:38 +0000 Received: from aurel32 by cvs.savannah.gnu.org with local (Exim 4.63) (envelope-from ) id 1JhpWn-00087D-MP for qemu-devel@nongnu.org; Fri, 04 Apr 2008 17:16:38 +0000 MIME-Version: 1.0 Errors-To: aurel32 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From: Aurelien Jarno Message-Id: Date: Fri, 04 Apr 2008 17:16:37 +0000 Subject: [Qemu-devel] [4160] Fix single stepping wrt pending interrupts Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Revision: 4160 http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=4160 Author: aurel32 Date: 2008-04-04 17:16:35 +0000 (Fri, 04 Apr 2008) Log Message: ----------- Fix single stepping wrt pending interrupts (Jason Wessel) Modified Paths: -------------- trunk/vl.c Modified: trunk/vl.c =================================================================== --- trunk/vl.c 2008-04-03 03:13:16 UTC (rev 4159) +++ trunk/vl.c 2008-04-04 17:16:35 UTC (rev 4160) @@ -7541,7 +7541,7 @@ qemu_time += profile_getclock() - ti; #endif next_cpu = env->next_cpu ?: first_cpu; - if (event_pending) { + if (event_pending && likely(ret != EXCP_DEBUG)) { ret = EXCP_INTERRUPT; event_pending = 0; break; @@ -7573,7 +7573,7 @@ qemu_system_powerdown(); ret = EXCP_INTERRUPT; } - if (ret == EXCP_DEBUG) { + if (unlikely(ret == EXCP_DEBUG)) { vm_stop(EXCP_DEBUG); } /* If all cpus are halted then wait until the next IRQ */