[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 00/26] target/i386: pc-relative translation blocks
From: |
Richard Henderson |
Subject: |
[PATCH v3 00/26] target/i386: pc-relative translation blocks |
Date: |
Sat, 1 Oct 2022 07:09:09 -0700 |
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.henderson@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
- [PATCH v3 00/26] target/i386: pc-relative translation blocks,
Richard Henderson <=
- [PATCH v3 01/26] target/i386: Remove pc_start, Richard Henderson, 2022/10/01
- [PATCH v3 07/26] target/i386: Introduce DISAS_EOB*, Richard Henderson, 2022/10/01
- [PATCH v3 08/26] target/i386: Use DISAS_EOB* in gen_movl_seg_T0, Richard Henderson, 2022/10/01
- [PATCH v3 05/26] target/i386: Create gen_update_eip_cur, Richard Henderson, 2022/10/01
- [PATCH v3 02/26] target/i386: Return bool from disas_insn, Richard Henderson, 2022/10/01
- [PATCH v3 09/26] target/i386: Use DISAS_EOB_NEXT, Richard Henderson, 2022/10/01
- [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