This is the x86 specific changes required to reduce the amount of translation for address space randomization. For v3, quite a few changes based on Paolo's feedback.
r~ Based-on: 20220930212622.108363-1-richard.hender...@linaro.org ("[PATCH v6 00/18] tcg: CPUTLBEntryFull and TARGET_TB_PCREL") Richard Henderson (26): target/i386: Remove pc_start target/i386: Return bool from disas_insn target/i386: Remove cur_eip argument to gen_exception target/i386: Remove cur_eip, next_eip arguments to gen_interrupt target/i386: Create gen_update_eip_cur target/i386: Create gen_update_eip_next target/i386: Introduce DISAS_EOB* target/i386: Use DISAS_EOB* in gen_movl_seg_T0 target/i386: Use DISAS_EOB_NEXT target/i386: USe DISAS_EOB_ONLY target/i386: Create cur_insn_len, cur_insn_len_i32 target/i386: Remove cur_eip, next_eip arguments to gen_repz* target/i386: Introduce DISAS_JUMP target/i386: Truncate values for lcall_real to i32 target/i386: Create eip_next_* target/i386: Use DISAS_TOO_MANY to exit after gen_io_start target/i386: Create gen_jmp_rel target/i386: Use gen_jmp_rel for loop, repz, jecxz insns target/i386: Use gen_jmp_rel for gen_jcc target/i386: Use gen_jmp_rel for DISAS_TOO_MANY target/i386: Remove MemOp argument to gen_op_j*_ecx target/i386: Merge gen_jmp_tb and gen_goto_tb into gen_jmp_rel target/i386: Create eip_cur_tl target/i386: Add cpu_eip target/i386: Inline gen_jmp_im target/i386: Enable TARGET_TB_PCREL target/i386/cpu-param.h | 4 + target/i386/helper.h | 2 +- target/i386/tcg/seg_helper.c | 6 +- target/i386/tcg/tcg-cpu.c | 8 +- target/i386/tcg/translate.c | 830 ++++++++++++++++++----------------- 5 files changed, 448 insertions(+), 402 deletions(-) -- 2.34.1