Commit 82e773b739 for qemu.org

commit 82e773b739f5ae55d99d42a3ca14da6aa49400ef
Author: Alex Bennée <alex.bennee@linaro.org>
Date:   Thu Oct 29 17:17:37 2026 +0000

    target/i386: terminate a tcg block on gen_RDMSR

    End the block the same way that gen_WRMSR does so an IO access under
    icount. While this fixes this particular case I suspect there are more
    IO like accesses the x86 TCG front-end should take care off.

    Resolves: https://gitlab.com/qemu-project/qemu/-/issues/4779
    Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
    Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
    Link: https://lore.kernel.org/r/20261029171737.2126803-1-alex.bennee@linaro.org
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

diff --git a/target/i386/tcg/emit.c.inc b/target/i386/tcg/emit.c.inc
index 5754f3dcc8..b3029f6fbb 100644
--- a/target/i386/tcg/emit.c.inc
+++ b/target/i386/tcg/emit.c.inc
@@ -3792,6 +3792,7 @@ static void gen_RDMSR(DisasContext *s, X86DecodedInsn *decode)
     gen_update_cc_op(s);
     gen_update_eip_cur(s);
     gen_helper_rdmsr(tcg_env);
+    s->base.is_jmp = DISAS_EOB_NEXT;
 }
 #else
 #define gen_RDMSR gen_unreachable