From: Alex Bennée <[email protected]> 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 <[email protected]> Reviewed-by: Richard Henderson <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Paolo Bonzini <[email protected]> --- target/i386/tcg/emit.c.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/target/i386/tcg/emit.c.inc b/target/i386/tcg/emit.c.inc index 5754f3dcc8b..b3029f6fbbe 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 -- 2.56.0
