mbox series

[00/26] target/s390x: pc-relative translation blocks

Message ID 20221006034421.1179141-1-richard.henderson@linaro.org
Headers show
Series target/s390x: pc-relative translation blocks | expand

Message

Richard Henderson Oct. 6, 2022, 3:43 a.m. UTC
This is the S390 specific changes required to reduce the
amount of translation for address space randomization.

Begin with some generic cleanups, then prepare by using
displacements instead of addresses when possible, then
add some tcg infrastructure to avoid a code gen ugly,
then finalize the conversion.


r~


Richard Henderson (26):
  target/s390x: Use tcg_constant_* in local contexts
  target/s390x: Use tcg_constant_* for DisasCompare
  target/s390x: Use tcg_constant_i32 for fpinst_extract_m34
  target/s390x: Use tcg_constant_* in translate_vx.c.inc
  target/s390x: Change help_goto_direct to work on displacements
  target/s390x: Introduce gen_psw_addr_disp
  target/s390x: Remove pc argument to pc_to_link_into
  target/s390x: Use gen_psw_addr_disp in pc_to_link_info
  target/s390x: Use gen_psw_addr_disp in save_link_info
  target/s390x: Use gen_psw_addr_disp in op_sam
  target/s390x: Use ilen instead in branches
  target/s390x: Move masking of psw.addr to cpu_get_tb_cpu_state
  target/s390x: Add disp argument to update_psw_addr
  target/s390x: Don't set gbea for user-only
  target/s390x: Introduce per_enabled
  target/s390x: Disable conditional branch-to-next for PER
  target/s390x: Introduce help_goto_indirect
  target/s390x: Split per_branch
  target/s390x: Simplify help_branch
  target/s390x: Split per_breaking_event from per_branch_*
  target/s390x: Remove PER check from use_goto_tb
  target/s390x: Pass original r2 register to BCR
  tcg: Pass TCGTempKind to tcg_temp_new_internal
  tcg: Introduce tcg_temp_ebb_new_*
  tcg: Introduce tcg_temp_is_normal_*
  target/s390x: Enable TARGET_TB_PCREL

 include/tcg/tcg-op.h                |   4 +
 include/tcg/tcg.h                   |  49 +-
 target/s390x/cpu-param.h            |   1 +
 target/s390x/cpu.h                  |  13 +-
 target/s390x/cpu.c                  |  12 +
 target/s390x/tcg/translate.c        | 858 ++++++++++++----------------
 tcg/tcg.c                           |  14 +-
 target/s390x/tcg/translate_vx.c.inc |  45 +-
 target/s390x/tcg/insn-data.def      |   2 +-
 9 files changed, 461 insertions(+), 537 deletions(-)

Comments

Richard Henderson Oct. 24, 2022, 11:04 p.m. UTC | #1
Ping.

On 10/6/22 13:43, Richard Henderson wrote:
> This is the S390 specific changes required to reduce the
> amount of translation for address space randomization.
> 
> Begin with some generic cleanups, then prepare by using
> displacements instead of addresses when possible, then
> add some tcg infrastructure to avoid a code gen ugly,
> then finalize the conversion.
> 
> 
> r~
> 
> 
> Richard Henderson (26):
>    target/s390x: Use tcg_constant_* in local contexts
>    target/s390x: Use tcg_constant_* for DisasCompare
>    target/s390x: Use tcg_constant_i32 for fpinst_extract_m34
>    target/s390x: Use tcg_constant_* in translate_vx.c.inc
>    target/s390x: Change help_goto_direct to work on displacements
>    target/s390x: Introduce gen_psw_addr_disp
>    target/s390x: Remove pc argument to pc_to_link_into
>    target/s390x: Use gen_psw_addr_disp in pc_to_link_info
>    target/s390x: Use gen_psw_addr_disp in save_link_info
>    target/s390x: Use gen_psw_addr_disp in op_sam
>    target/s390x: Use ilen instead in branches
>    target/s390x: Move masking of psw.addr to cpu_get_tb_cpu_state
>    target/s390x: Add disp argument to update_psw_addr
>    target/s390x: Don't set gbea for user-only
>    target/s390x: Introduce per_enabled
>    target/s390x: Disable conditional branch-to-next for PER
>    target/s390x: Introduce help_goto_indirect
>    target/s390x: Split per_branch
>    target/s390x: Simplify help_branch
>    target/s390x: Split per_breaking_event from per_branch_*
>    target/s390x: Remove PER check from use_goto_tb
>    target/s390x: Pass original r2 register to BCR
>    tcg: Pass TCGTempKind to tcg_temp_new_internal
>    tcg: Introduce tcg_temp_ebb_new_*
>    tcg: Introduce tcg_temp_is_normal_*
>    target/s390x: Enable TARGET_TB_PCREL
> 
>   include/tcg/tcg-op.h                |   4 +
>   include/tcg/tcg.h                   |  49 +-
>   target/s390x/cpu-param.h            |   1 +
>   target/s390x/cpu.h                  |  13 +-
>   target/s390x/cpu.c                  |  12 +
>   target/s390x/tcg/translate.c        | 858 ++++++++++++----------------
>   tcg/tcg.c                           |  14 +-
>   target/s390x/tcg/translate_vx.c.inc |  45 +-
>   target/s390x/tcg/insn-data.def      |   2 +-
>   9 files changed, 461 insertions(+), 537 deletions(-)
>