aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2024-05-16 18:38:32 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2024-05-25 13:28:01 +0200
commitad8f2ad77eb5b78d4478f900518d832af005ad40 (patch)
treee6816ba8970b17dc7c9fbfff8f7fdbcdd7d73ad6
parent2512f786bfe0a63fbf59cf0354d2b2ae40198a6f (diff)
downloadqemu-ad8f2ad77eb5b78d4478f900518d832af005ad40.zip
qemu-ad8f2ad77eb5b78d4478f900518d832af005ad40.tar.gz
qemu-ad8f2ad77eb5b78d4478f900518d832af005ad40.tar.bz2
target/i386: assert that gen_update_eip_cur and gen_update_eip_next are the same in tb_stop
This is an invariant now that there are no calls to gen_eob_inhibit_irq() outside tb_stop. Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r--target/i386/tcg/translate.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/target/i386/tcg/translate.c b/target/i386/tcg/translate.c
index a7493b5..fcb7934 100644
--- a/target/i386/tcg/translate.c
+++ b/target/i386/tcg/translate.c
@@ -4798,6 +4798,7 @@ static void i386_tr_tb_stop(DisasContextBase *dcbase, CPUState *cpu)
gen_jmp_rel_csize(dc, 0, 0);
break;
case DISAS_EOB_NEXT:
+ assert(dc->base.pc_next == dc->pc);
gen_update_eip_cur(dc);
/* fall through */
case DISAS_EOB_ONLY:
@@ -4807,6 +4808,7 @@ static void i386_tr_tb_stop(DisasContextBase *dcbase, CPUState *cpu)
gen_eob_syscall(dc);
break;
case DISAS_EOB_INHIBIT_IRQ:
+ assert(dc->base.pc_next == dc->pc);
gen_update_eip_cur(dc);
gen_eob_inhibit_irq(dc);
break;