From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53685) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f3NR4-0000gC-Cs for qemu-devel@nongnu.org; Tue, 03 Apr 2018 11:01:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1f3NQz-00005U-V7 for qemu-devel@nongnu.org; Tue, 03 Apr 2018 11:01:22 -0400 Received: from mout.web.de ([212.227.15.3]:54355) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1f3NQz-0008VU-Lt for qemu-devel@nongnu.org; Tue, 03 Apr 2018 11:01:17 -0400 From: Jan Kiszka Date: Tue, 3 Apr 2018 17:00:55 +0200 Message-Id: <37939b244dda0e9cccf96ce50f2b15df1e48315d.1522767657.git.jan.kiszka@web.de> In-Reply-To: References: In-Reply-To: References: Subject: [Qemu-devel] [PATCH 2/4] target-i386: Allow interrupt injection after STGI List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel , Paolo Bonzini , Richard Henderson , Eduardo Habkost Cc: Valentine Sinitsyn From: Jan Kiszka We need to terminate the translation block after STGI so that pending interrupts can be injected. This fixes pending NMI injection for Jailhouse which uses "stgi; clgi" to open a brief injection window. Signed-off-by: Jan Kiszka --- target/i386/translate.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/target/i386/translate.c b/target/i386/translate.c index 0135415d92..71d97876c7 100644 --- a/target/i386/translate.c +++ b/target/i386/translate.c @@ -7450,8 +7450,9 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu) break; } gen_update_cc_op(s); - gen_jmp_im(pc_start - s->cs_base); gen_helper_stgi(cpu_env); + gen_jmp_im(s->pc - s->cs_base); + gen_eob(s); break; case 0xdd: /* CLGI */ -- 2.13.6