Message ID | 20240405102459.462551-6-richard.henderson@linaro.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | accel/tcg: Improve disassembly for target and plugin | expand |
On 5/4/24 12:24, Richard Henderson wrote: > Do not allow translation to proceed beyond one insn with mmio, > as we will not be caching the TranslationBlock. > > Signed-off-by: Richard Henderson <richard.henderson@linaro.org> > --- > accel/tcg/translator.c | 4 ++++ > 1 file changed, 4 insertions(+) Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
diff --git a/accel/tcg/translator.c b/accel/tcg/translator.c index 42beb1c9b7..438b6d4cba 100644 --- a/accel/tcg/translator.c +++ b/accel/tcg/translator.c @@ -236,6 +236,8 @@ static bool translator_ld(CPUArchState *env, DisasContextBase *db, /* Use slow path if first page is MMIO. */ if (unlikely(tb_page_addr0(tb) == -1)) { + /* We capped translation with first page MMIO in tb_gen_code. */ + tcg_debug_assert(db->max_insns == 1); return false; } @@ -284,6 +286,8 @@ static bool translator_ld(CPUArchState *env, DisasContextBase *db, if (unlikely(new_page1 == -1)) { tb_unlock_pages(tb); tb_set_page_addr0(tb, -1); + /* Require that this be the final insn. */ + db->max_insns = db->num_insns; return false; }
Do not allow translation to proceed beyond one insn with mmio, as we will not be caching the TranslationBlock. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> --- accel/tcg/translator.c | 4 ++++ 1 file changed, 4 insertions(+)