mbox series

[v3,00/18] target/s390: Use tcg unwinding for ilen

Message ID 20190926162615.31168-1-richard.henderson@linaro.org (mailing list archive)
Headers show
Series target/s390: Use tcg unwinding for ilen | expand

Message

Richard Henderson Sept. 26, 2019, 4:25 p.m. UTC
David's cleanup of some of the mmu code reminded me of an old branch
that I have laying around.  His new code allowed me to finish this
idea up to completely transition away from ILEN_AUTO.

V1 was posted back in 2017:
   https://lists.gnu.org/archive/html/qemu-devel/2017-07/msg07607.html
V2 was posted back in April:
   https://lists.gnu.org/archive/html/qemu-devel/2019-04/msg00063.html

Based-on: <20190925125236.4043-1-david@redhat.com> \
  ("s390x/mmu: DAT translation rewrite")


r~


Richard Henderson (18):
  target/s390x: Truncate 32-bit psw_addr before creating TB
  target/s390x: Add ilen to unwind data
  target/s390x: Remove ilen parameter from tcg_s390_program_interrupt
  target/s390x: Remove ilen parameter from s390_program_interrupt
  target/s390x: Use tcg_s390_program_interrupt in TCG helpers
  target/s390x: Push trigger_pgm_exception lower in s390_cpu_tlb_fill
  target/s390x: Handle tec in s390_cpu_tlb_fill
  target/s390: Return exception from mmu_translate_real
  target/s390x: Remove exc argument to mmu_translate_asce
  target/s390: Return exception from mmu_translate
  target/s390: Return exception from translate_pages
  target/s390x: Remove fail variable from s390_cpu_tlb_fill
  target/s390x: Simplify helper_lra
  target/s390x: Rely on unwinding in s390_cpu_tlb_fill
  target/s390x: Rely on unwinding in s390_cpu_virt_mem_rw
  target/s390x: Remove ILEN_AUTO
  target/s390x: Remove ilen argument from trigger_access_exception
  target/s390x: Remove ilen argument from trigger_pgm_exception

 target/s390x/cpu.h           | 35 ++++++++++++++-------
 target/s390x/internal.h      |  6 ++--
 target/s390x/tcg_s390x.h     |  4 +--
 hw/s390x/s390-pci-inst.c     | 58 +++++++++++++++++-----------------
 target/s390x/cc_helper.c     |  4 +--
 target/s390x/crypto_helper.c |  7 ++---
 target/s390x/diag.c          | 14 ++++-----
 target/s390x/excp_helper.c   | 60 ++++++++++++++++-------------------
 target/s390x/fpu_helper.c    |  6 ++--
 target/s390x/int_helper.c    | 15 ++++-----
 target/s390x/interrupt.c     |  9 +++---
 target/s390x/ioinst.c        | 40 +++++++++++------------
 target/s390x/mem_helper.c    | 61 +++++++++++++++++-------------------
 target/s390x/misc_helper.c   | 27 ++++++----------
 target/s390x/mmu_helper.c    | 60 +++++++++++++++--------------------
 target/s390x/tcg-stub.c      |  4 +--
 target/s390x/translate.c     | 27 ++++++++++------
 17 files changed, 214 insertions(+), 223 deletions(-)

Comments

David Hildenbrand Sept. 27, 2019, 8:18 a.m. UTC | #1
On 26.09.19 18:25, Richard Henderson wrote:
> David's cleanup of some of the mmu code reminded me of an old branch
> that I have laying around.  His new code allowed me to finish this
> idea up to completely transition away from ILEN_AUTO.
> 
> V1 was posted back in 2017:
>    https://lists.gnu.org/archive/html/qemu-devel/2017-07/msg07607.html
> V2 was posted back in April:
>    https://lists.gnu.org/archive/html/qemu-devel/2019-04/msg00063.html
> 
> Based-on: <20190925125236.4043-1-david@redhat.com> \
>   ("s390x/mmu: DAT translation rewrite")
> 

Right, that rings a bell :) I assume we can unwind in all cases except
on instruction fetches - I'm curious how it turned out and will try to
review as soon as time permits (most probably I'll start reviewing today).