target/i386: Exit tb after wrmsr
authorRichard Henderson <richard.henderson@linaro.org>
Fri, 14 May 2021 15:13:37 +0000 (10:13 -0500)
committerRichard Henderson <richard.henderson@linaro.org>
Wed, 19 May 2021 17:17:11 +0000 (12:17 -0500)
At minimum, wrmsr can change efer, which affects HF_LMA.

Cc: qemu-stable@nongnu.org
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20210514151342.384376-46-richard.henderson@linaro.org>

target/i386/tcg/translate.c

index 9501089861d03356e2c10c8263e0358b57d8642a..ef0ba822e1ec99ae8544ec00aa92d629b4e17e86 100644 (file)
@@ -7260,6 +7260,8 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)
                 gen_helper_rdmsr(cpu_env);
             } else {
                 gen_helper_wrmsr(cpu_env);
+                gen_jmp_im(s, s->pc - s->cs_base);
+                gen_eob(s);
             }
         }
         break;