qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/27] target/s390x: pc-relative translation blocks
@ 2022-12-11 15:27 Richard Henderson
  2022-12-11 15:27 ` [PATCH v2 01/27] target/s390x: Use tcg_constant_* in local contexts Richard Henderson
                   ` (26 more replies)
  0 siblings, 27 replies; 38+ messages in thread
From: Richard Henderson @ 2022-12-11 15:27 UTC (permalink / raw)
  To: qemu-devel; +Cc: qemu-s390x

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.

Changes for v2:
  * Incorporate feedback, including test cases.


r~


Ilya Leoshkevich (4):
  tests/tcg/s390x: Add bal.S
  tests/tcg/s390x: Add sam.S
  target/s390x: Fix successful-branch PER events
  tests/tcg/s390x: Add per.S

Richard Henderson (23):
  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: Assert masking of psw.addr in 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
  target/s390x: Enable TARGET_TB_PCREL

 target/s390x/cpu-param.h                |   1 +
 target/s390x/cpu.h                      |  20 +-
 target/s390x/tcg/insn-data.h.inc        |   2 +-
 target/s390x/cpu.c                      |  12 +
 target/s390x/tcg/misc_helper.c          |   1 +
 target/s390x/tcg/translate.c            | 870 ++++++++++--------------
 target/s390x/tcg/translate_vx.c.inc     |  45 +-
 tests/tcg/s390x/Makefile.softmmu-target |   3 +
 tests/tcg/s390x/bal.S                   |  24 +
 tests/tcg/s390x/per.S                   |  55 ++
 tests/tcg/s390x/sam.S                   |  67 ++
 11 files changed, 572 insertions(+), 528 deletions(-)
 create mode 100644 tests/tcg/s390x/bal.S
 create mode 100644 tests/tcg/s390x/per.S
 create mode 100644 tests/tcg/s390x/sam.S

-- 
2.34.1



^ permalink raw reply	[flat|nested] 38+ messages in thread

end of thread, other threads:[~2022-12-14 17:24 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-12-11 15:27 [PATCH v2 00/27] target/s390x: pc-relative translation blocks Richard Henderson
2022-12-11 15:27 ` [PATCH v2 01/27] target/s390x: Use tcg_constant_* in local contexts Richard Henderson
2022-12-11 15:27 ` [PATCH v2 02/27] target/s390x: Use tcg_constant_* for DisasCompare Richard Henderson
2022-12-11 15:43   ` Philippe Mathieu-Daudé
2022-12-11 15:27 ` [PATCH v2 03/27] target/s390x: Use tcg_constant_i32 for fpinst_extract_m34 Richard Henderson
2022-12-11 15:44   ` Philippe Mathieu-Daudé
2022-12-11 15:27 ` [PATCH v2 04/27] target/s390x: Use tcg_constant_* in translate_vx.c.inc Richard Henderson
2022-12-11 15:45   ` Philippe Mathieu-Daudé
2022-12-11 15:27 ` [PATCH v2 05/27] tests/tcg/s390x: Add bal.S Richard Henderson
2022-12-11 15:27 ` [PATCH v2 06/27] tests/tcg/s390x: Add sam.S Richard Henderson
2022-12-11 15:27 ` [PATCH v2 07/27] target/s390x: Change help_goto_direct to work on displacements Richard Henderson
2022-12-11 15:47   ` Philippe Mathieu-Daudé
2022-12-11 15:27 ` [PATCH v2 08/27] target/s390x: Introduce gen_psw_addr_disp Richard Henderson
2022-12-11 15:27 ` [PATCH v2 09/27] target/s390x: Remove pc argument to pc_to_link_into Richard Henderson
2022-12-11 15:27 ` [PATCH v2 10/27] target/s390x: Use gen_psw_addr_disp in pc_to_link_info Richard Henderson
2022-12-11 15:27 ` [PATCH v2 11/27] target/s390x: Use gen_psw_addr_disp in save_link_info Richard Henderson
2022-12-11 15:27 ` [PATCH v2 12/27] target/s390x: Use gen_psw_addr_disp in op_sam Richard Henderson
2022-12-11 15:27 ` [PATCH v2 13/27] target/s390x: Use ilen instead in branches Richard Henderson
2022-12-11 15:52   ` Philippe Mathieu-Daudé
2022-12-11 15:27 ` [PATCH v2 14/27] target/s390x: Assert masking of psw.addr in cpu_get_tb_cpu_state Richard Henderson
2022-12-13 17:14   ` Ilya Leoshkevich
2022-12-11 15:27 ` [PATCH v2 15/27] target/s390x: Add disp argument to update_psw_addr Richard Henderson
2022-12-11 15:57   ` Philippe Mathieu-Daudé
2022-12-11 15:27 ` [PATCH v2 16/27] target/s390x: Don't set gbea for user-only Richard Henderson
2022-12-11 15:27 ` [PATCH v2 17/27] target/s390x: Introduce per_enabled Richard Henderson
2022-12-11 15:27 ` [PATCH v2 18/27] target/s390x: Disable conditional branch-to-next for PER Richard Henderson
2022-12-11 15:27 ` [PATCH v2 19/27] target/s390x: Introduce help_goto_indirect Richard Henderson
2022-12-11 15:58   ` Philippe Mathieu-Daudé
2022-12-13 17:15   ` Ilya Leoshkevich
2022-12-11 15:27 ` [PATCH v2 20/27] target/s390x: Split per_branch Richard Henderson
2022-12-11 15:27 ` [PATCH v2 21/27] target/s390x: Simplify help_branch Richard Henderson
2022-12-11 15:27 ` [PATCH v2 22/27] target/s390x: Split per_breaking_event from per_branch_* Richard Henderson
2022-12-11 15:27 ` [PATCH v2 23/27] target/s390x: Remove PER check from use_goto_tb Richard Henderson
2022-12-11 15:27 ` [PATCH v2 24/27] target/s390x: Fix successful-branch PER events Richard Henderson
2022-12-11 15:28 ` [PATCH v2 25/27] tests/tcg/s390x: Add per.S Richard Henderson
2022-12-11 15:28 ` [PATCH v2 26/27] target/s390x: Pass original r2 register to BCR Richard Henderson
2022-12-11 15:28 ` [PATCH v2 27/27] target/s390x: Enable TARGET_TB_PCREL Richard Henderson
2022-12-14 17:22   ` Ilya Leoshkevich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).