[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 20/26] target/i386: Use gen_jmp_rel for DISAS_TOO_MANY
From: |
Richard Henderson |
Subject: |
[PATCH v3 20/26] target/i386: Use gen_jmp_rel for DISAS_TOO_MANY |
Date: |
Sat, 1 Oct 2022 07:09:29 -0700 |
With gen_jmp_rel, we may chain between two translation blocks
which may only be separated because of TB size limits.
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
target/i386/tcg/translate.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/target/i386/tcg/translate.c b/target/i386/tcg/translate.c
index 5b84be4975..cf23ae6e5e 100644
--- a/target/i386/tcg/translate.c
+++ b/target/i386/tcg/translate.c
@@ -8798,6 +8798,9 @@ static void i386_tr_tb_stop(DisasContextBase *dcbase,
CPUState *cpu)
case DISAS_NORETURN:
break;
case DISAS_TOO_MANY:
+ gen_update_cc_op(dc);
+ gen_jmp_rel_csize(dc, 0, 0);
+ break;
case DISAS_EOB_NEXT:
gen_update_cc_op(dc);
gen_update_eip_cur(dc);
--
2.34.1
- [PATCH v3 10/26] target/i386: USe DISAS_EOB_ONLY, (continued)
- [PATCH v3 10/26] target/i386: USe DISAS_EOB_ONLY, Richard Henderson, 2022/10/01
- [PATCH v3 06/26] target/i386: Create gen_update_eip_next, Richard Henderson, 2022/10/01
- [PATCH v3 03/26] target/i386: Remove cur_eip argument to gen_exception, Richard Henderson, 2022/10/01
- [PATCH v3 11/26] target/i386: Create cur_insn_len, cur_insn_len_i32, Richard Henderson, 2022/10/01
- [PATCH v3 04/26] target/i386: Remove cur_eip, next_eip arguments to gen_interrupt, Richard Henderson, 2022/10/01
- [PATCH v3 12/26] target/i386: Remove cur_eip, next_eip arguments to gen_repz*, Richard Henderson, 2022/10/01
- [PATCH v3 13/26] target/i386: Introduce DISAS_JUMP, Richard Henderson, 2022/10/01
- [PATCH v3 14/26] target/i386: Truncate values for lcall_real to i32, Richard Henderson, 2022/10/01
- [PATCH v3 15/26] target/i386: Create eip_next_*, Richard Henderson, 2022/10/01
- [PATCH v3 16/26] target/i386: Use DISAS_TOO_MANY to exit after gen_io_start, Richard Henderson, 2022/10/01
- [PATCH v3 20/26] target/i386: Use gen_jmp_rel for DISAS_TOO_MANY,
Richard Henderson <=
- [PATCH v3 17/26] target/i386: Create gen_jmp_rel, Richard Henderson, 2022/10/01
- [PATCH v3 21/26] target/i386: Remove MemOp argument to gen_op_j*_ecx, Richard Henderson, 2022/10/01
- [PATCH v3 19/26] target/i386: Use gen_jmp_rel for gen_jcc, Richard Henderson, 2022/10/01
- [PATCH v3 18/26] target/i386: Use gen_jmp_rel for loop, repz, jecxz insns, Richard Henderson, 2022/10/01
- [PATCH v3 22/26] target/i386: Merge gen_jmp_tb and gen_goto_tb into gen_jmp_rel, Richard Henderson, 2022/10/01
- [PATCH v3 23/26] target/i386: Create eip_cur_tl, Richard Henderson, 2022/10/01
- [PATCH v3 24/26] target/i386: Add cpu_eip, Richard Henderson, 2022/10/01
- [PATCH v3 25/26] target/i386: Inline gen_jmp_im, Richard Henderson, 2022/10/01
- [PATCH v3 26/26] target/i386: Enable TARGET_TB_PCREL, Richard Henderson, 2022/10/01
- Re: [PATCH v3 00/26] target/i386: pc-relative translation blocks, Paolo Bonzini, 2022/10/01