From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1K3w0d-0002hH-7f for qemu-devel@nongnu.org; Wed, 04 Jun 2008 12:38:47 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1K3w0b-0002fT-ND for qemu-devel@nongnu.org; Wed, 04 Jun 2008 12:38:46 -0400 Received: from [199.232.76.173] (port=41084 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1K3w0b-0002fH-ED for qemu-devel@nongnu.org; Wed, 04 Jun 2008 12:38:45 -0400 Received: from cantor.suse.de ([195.135.220.2]:35900 helo=mx1.suse.de) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1K3w0a-0003mA-93 for qemu-devel@nongnu.org; Wed, 04 Jun 2008 12:38:45 -0400 Message-ID: <4846B799.5000608@suse.de> Date: Wed, 04 Jun 2008 17:41:13 +0200 From: Alexander Graf MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------040907040401060103060604" Subject: [Qemu-devel] [PATCH] Store correct IPs 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 This is a multi-part message in MIME format. --------------040907040401060103060604 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit If a VMEXIT occurs, the IP value needs to be current. This is the case with most instructions, except for CPUID and invlpg. Alex --------------040907040401060103060604 Content-Type: text/x-patch; name="qemu-svn-ip.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="qemu-svn-ip.patch" Index: target-i386/translate.c =================================================================== --- target-i386/translate.c (revision 4661) +++ target-i386/translate.c (working copy) @@ -6407,6 +6407,7 @@ break; #endif case 0x1a2: /* cpuid */ + gen_jmp_im(s->pc - s->cs_base); tcg_gen_helper_0_0(helper_cpuid); break; case 0xf4: /* hlt */ @@ -6700,8 +6701,8 @@ } } else { gen_lea_modrm(s, modrm, ®_addr, &offset_addr); + gen_jmp_im(s->pc - s->cs_base); tcg_gen_helper_0_1(helper_invlpg, cpu_A0); - gen_jmp_im(s->pc - s->cs_base); gen_eob(s); } } --------------040907040401060103060604--