Patchwork [PULL] target-s390x rewrite

login
register
mail settings
Submitter Richard Henderson
Date Jan. 6, 2013, 7:15 p.m.
Message ID <20130106191558.GA7853@anchor.twiddle.home>
Download mbox
Permalink /patch/210006/
State New
Headers show

Pull-request

git://repo.or.cz/qemu/rth.git s390-reorg

Comments

Richard Henderson - Jan. 6, 2013, 7:15 p.m.
Now that all of the prerequisites are in, I've rebased vs master,
which has included a number of minor changes to include paths etc.


r~


The following changes since commit 549db5c32bb025501e2eeb23d2e5cc669061eb71:

  hw/i386: Fix broken build for non POSIX hosts (2013-01-05 10:14:05 +0000)

are available in the git repository at:

  git://repo.or.cz/qemu/rth.git s390-reorg

for you to fetch changes up to 2b35e93fbfc52c2be6cf85e5a54a3707cdabd914:

  target-s390: Claim maintainership (2013-01-05 12:18:46 -0800)

----------------------------------------------------------------
Richard Henderson (149):
      target-s390: Disassemble more z10 and z196 opcodes
      target-s390: Fix disassembly of cpsdr
      target-s390: Fix gdbstub
      target-s390: Add missing temp_free in gen_op_calc_cc
      target-s390: Use TCG registers for FPR
      target-s390: Register helpers
      target-s390: Fix SACF exit
      target-s390: Fix BCR
      target-s390: Tidy unconditional BRCL
      target-s390: Fix PSW_MASK handling
      target-s390: Add format based disassassmbly infrastructure
      target-s390: Split out disas_jcc
      target-s390: Reorg exception handling
      target-s390: Convert ADD HALFWORD
      target-s390: Implement SUBTRACT HALFWORD
      target-s390: Implement ADD LOGICAL WITH SIGNED IMMEDIATE
      target-s390: Convert MULTIPLY HALFWORD, SINGLE
      target-s390: Convert 32-bit MULTIPLY, MULTIPLY LOGICAL
      target-s390: Convert 64-bit MULTIPLY LOGICAL
      target-s390: Convert AND, OR, XOR
      target-s390: Convert COMPARE, COMPARE LOGICAL
      target-s390: Convert LOAD, LOAD LOGICAL
      target-s390: Convert LOAD ADDRESS
      target-s390: Convert LOAD (LOGICAL) BYTE, CHARACTER, HALFWORD
      target-s390: Convert LOAD AND TEST
      target-s390: Convert LOAD LOGICAL IMMEDIATE
      target-s390: Convert LOAD COMPLIMENT, POSITIVE, NEGATIVE
      target-s390: Convert AND, OR, XOR, INSERT IMMEDIATE
      target-s390: Convert STORE
      target-s390: Convert ADD LOGICAL CARRY and SUBTRACT LOGICAL BORROW
      target-s390: Convert BRANCH AND SAVE
      target-s390: Convert BRANCH ON CONDITION
      target-s390: Convert BRANCH ON COUNT
      target-s390: Convert DIVIDE
      target-s390: Send signals for divide
      target-s390: Convert TEST UNDER MASK
      target-s390: Convert SET ADDRESSING MODE
      target-s390: Convert SUPERVISOR CALL
      target-s390: Convert MOVE LONG
      target-s390: Convert FP LOAD
      target-s390: Convert INSERT CHARACTER
      target-s390: Cleanup cc computation helpers
      target-s390: Convert INSERT CHARACTERS UNDER MASK
      target-s390: Convert EXECUTE
      target-s390: Convert FP STORE
      target-s390: Convert CONVERT TO DECIMAL
      target-s390: Convert SET SYSTEM MASK
      target-s390: Convert LOAD PSW
      target-s390: Convert DIAGNOSE
      target-s390: Convert SHIFT, ROTATE SINGLE
      target-s390: Convert SHIFT DOUBLE
      target-s390: Convert LOAD, STORE MULTIPLE
      target-s390: Convert MOVE
      target-s390: Convert NI, XI, OI
      target-s390: Convert STNSM, STOSM
      target-s390: Convert LAM, STAM
      target-s390: Convert CLCLE, MVCLE
      target-s390: Convert MVC
      target-s390: Convert NC, XC, OC, TR, UNPK
      target-s390: Convert CLC
      target-s390: Convert MVCP, MVCS
      target-s390: Convert LRA
      target-s390: Convert SIGP
      target-s390: Convert EFPC, STFPC
      target-s390: Convert LCTL, STCTL
      target-s390: Convert COMPARE AND SWAP
      target-s390: Convert CLM
      target-s390: Convert STCM
      target-s390: Convert TPROT
      target-s390: Convert LOAD CONTROL, part 2
      target-s390: Convert LOAD REVERSED
      target-s390: Convert STORE REVERSED
      target-s390: Convert LLGT
      target-s390: Convert FP ADD, COMPARE, LOAD TEST/ROUND/LENGTHENED
      target-s390: Convert FP SUBTRACT
      target-s390: Convert FP DIVIDE
      target-s390: Convert FP MULTIPLY
      target-s390: Convert MULTIPLY AND ADD, SUBTRACT
      target-s390: Convert TEST DATA CLASS
      target-s390: Convert FP LOAD COMPLIMENT, NEGATIVE, POSITIVE
      target-s390: Convert FP SQUARE ROOT
      target-s390: Convert LOAD ZERO
      target-s390: Convert CONVERT TO FIXED
      target-s390: Convert CONVERT FROM FIXED
      target-s390: Convert FLOGR
      target-s390: Convert LFPC, SFPC
      target-s390: Convert IPM
      target-s390: Convert CKSM
      target-s390: Convert EAR, SAR
      target-s390: Convert MVPG
      target-s390: Convert CLST, MVST
      target-s390: Convert SRST
      target-s390: Convert STIDP
      target-s390: Convert SCK
      target-s390: Convert STCK
      target-s390: Convert SCKC, STCKC
      target-s390: Convert SPT, STPT
      target-s390: Convert SPKA
      target-s390: Convert PTLB
      target-s390: Convert SPX, STPX
      target-s390: Convert STAP
      target-s390: Convert IPTE
      target-s390: Convert ISKE
      target-s390: Convert SSKE
      target-s390: Convert RRBE
      target-s390: Convert subchannel instructions
      target-s390: Convert STURA
      target-s390: Convert CSP
      target-s390: Convert STCKE
      target-s390: Convert SACF
      target-s390: Convert STSI
      target-s390: Convert STFL
      target-s390: Convert LPSWE
      target-s390: Convert SERVC
      target-s390: Delete dead code from old translator
      target-s390: Implement BRANCH ON INDEX
      target-s390: Tidy s->op_cc handling
      target-s390: Implement COMPARE AND BRANCH
      target-s390: Implement RISBG
      target-s390: Implement LDGR, LGDR
      target-s390: Implement R[NOX]SBG
      target-s390: Implement PREFETCH
      target-s390: Implement COMPARE RELATIVE LONG
      target-s390: Implement COMPARE AND TRAP
      target-s390: Implement LOAD ON CONDITION
      target-s390: Implement STORE ON CONDITION
      target-s390: Implement CONVERT TO LOGICAL
      target-s390: Implement CONVERT FROM LOGICAL
      target-s390: Implement POPCNT
      target-s390: Implement CPSDR
      target-s390: Check insn operand specifications
      target-s390: Implement LCDFR
      target-s390: Use uint64_to_float128
      target-s390: Implement SET ROUNDING MODE
      target-s390: Implement LOAD/SET FP AND SIGNAL
      target-s390: Fix cpu_clone_regs
      target-s390: Optimize XC
      target-s390: Optmize emitting discards
      target-s390: Tidy comparisons
      target-s390: Optimize ADDU/SUBU CC testing
      target-s390: Optimize ADDC/SUBB
      target-s390: Optimize get_address
      target-s390: Perform COMPARE AND SWAP inline
      target-s390: Use TCG_CALL_NO_WG for memory helpers
      target-s390: Use TCG_CALL_NO_WG for floating-point helpers
      target-s390: Use TCG_CALL_NO_WG for integer helpers
      target-s390: Use TCG_CALL_NO_WG for misc helpers
      target-s390: Use noreturn for exception and load_psw
      target-s390: Claim maintainership

 MAINTAINERS                  |    1 +
 disas/s390.c                 |  173 +-
 gdbstub.c                    |   78 +-
 linux-user/main.c            |  140 +-
 linux-user/s390x/syscall.h   |    2 +-
 target-s390x/cc_helper.c     |  335 +-
 target-s390x/cpu.h           |  167 +-
 target-s390x/fpu_helper.c    |  960 ++---
 target-s390x/helper.c        |   67 +-
 target-s390x/helper.h        |  220 +-
 target-s390x/insn-data.def   |  813 ++++
 target-s390x/insn-format.def |   55 +
 target-s390x/int_helper.c    |  176 +-
 target-s390x/mem_helper.c    |  359 +-
 target-s390x/misc_helper.c   |   94 +-
 target-s390x/translate.c     | 8685 ++++++++++++++++++++----------------------
 16 files changed, 6348 insertions(+), 5977 deletions(-)
 create mode 100644 target-s390x/insn-data.def
 create mode 100644 target-s390x/insn-format.def
Blue Swirl - Jan. 12, 2013, 4:12 p.m.
On Sun, Jan 6, 2013 at 7:15 PM, Richard Henderson <rth@twiddle.net> wrote:
> Now that all of the prerequisites are in, I've rebased vs master,
> which has included a number of minor changes to include paths etc.

Thanks, pulled.

>
>
> r~
>
>
> The following changes since commit 549db5c32bb025501e2eeb23d2e5cc669061eb71:
>
>   hw/i386: Fix broken build for non POSIX hosts (2013-01-05 10:14:05 +0000)
>
> are available in the git repository at:
>
>   git://repo.or.cz/qemu/rth.git s390-reorg
>
> for you to fetch changes up to 2b35e93fbfc52c2be6cf85e5a54a3707cdabd914:
>
>   target-s390: Claim maintainership (2013-01-05 12:18:46 -0800)
>
> ----------------------------------------------------------------
> Richard Henderson (149):
>       target-s390: Disassemble more z10 and z196 opcodes
>       target-s390: Fix disassembly of cpsdr
>       target-s390: Fix gdbstub
>       target-s390: Add missing temp_free in gen_op_calc_cc
>       target-s390: Use TCG registers for FPR
>       target-s390: Register helpers
>       target-s390: Fix SACF exit
>       target-s390: Fix BCR
>       target-s390: Tidy unconditional BRCL
>       target-s390: Fix PSW_MASK handling
>       target-s390: Add format based disassassmbly infrastructure
>       target-s390: Split out disas_jcc
>       target-s390: Reorg exception handling
>       target-s390: Convert ADD HALFWORD
>       target-s390: Implement SUBTRACT HALFWORD
>       target-s390: Implement ADD LOGICAL WITH SIGNED IMMEDIATE
>       target-s390: Convert MULTIPLY HALFWORD, SINGLE
>       target-s390: Convert 32-bit MULTIPLY, MULTIPLY LOGICAL
>       target-s390: Convert 64-bit MULTIPLY LOGICAL
>       target-s390: Convert AND, OR, XOR
>       target-s390: Convert COMPARE, COMPARE LOGICAL
>       target-s390: Convert LOAD, LOAD LOGICAL
>       target-s390: Convert LOAD ADDRESS
>       target-s390: Convert LOAD (LOGICAL) BYTE, CHARACTER, HALFWORD
>       target-s390: Convert LOAD AND TEST
>       target-s390: Convert LOAD LOGICAL IMMEDIATE
>       target-s390: Convert LOAD COMPLIMENT, POSITIVE, NEGATIVE
>       target-s390: Convert AND, OR, XOR, INSERT IMMEDIATE
>       target-s390: Convert STORE
>       target-s390: Convert ADD LOGICAL CARRY and SUBTRACT LOGICAL BORROW
>       target-s390: Convert BRANCH AND SAVE
>       target-s390: Convert BRANCH ON CONDITION
>       target-s390: Convert BRANCH ON COUNT
>       target-s390: Convert DIVIDE
>       target-s390: Send signals for divide
>       target-s390: Convert TEST UNDER MASK
>       target-s390: Convert SET ADDRESSING MODE
>       target-s390: Convert SUPERVISOR CALL
>       target-s390: Convert MOVE LONG
>       target-s390: Convert FP LOAD
>       target-s390: Convert INSERT CHARACTER
>       target-s390: Cleanup cc computation helpers
>       target-s390: Convert INSERT CHARACTERS UNDER MASK
>       target-s390: Convert EXECUTE
>       target-s390: Convert FP STORE
>       target-s390: Convert CONVERT TO DECIMAL
>       target-s390: Convert SET SYSTEM MASK
>       target-s390: Convert LOAD PSW
>       target-s390: Convert DIAGNOSE
>       target-s390: Convert SHIFT, ROTATE SINGLE
>       target-s390: Convert SHIFT DOUBLE
>       target-s390: Convert LOAD, STORE MULTIPLE
>       target-s390: Convert MOVE
>       target-s390: Convert NI, XI, OI
>       target-s390: Convert STNSM, STOSM
>       target-s390: Convert LAM, STAM
>       target-s390: Convert CLCLE, MVCLE
>       target-s390: Convert MVC
>       target-s390: Convert NC, XC, OC, TR, UNPK
>       target-s390: Convert CLC
>       target-s390: Convert MVCP, MVCS
>       target-s390: Convert LRA
>       target-s390: Convert SIGP
>       target-s390: Convert EFPC, STFPC
>       target-s390: Convert LCTL, STCTL
>       target-s390: Convert COMPARE AND SWAP
>       target-s390: Convert CLM
>       target-s390: Convert STCM
>       target-s390: Convert TPROT
>       target-s390: Convert LOAD CONTROL, part 2
>       target-s390: Convert LOAD REVERSED
>       target-s390: Convert STORE REVERSED
>       target-s390: Convert LLGT
>       target-s390: Convert FP ADD, COMPARE, LOAD TEST/ROUND/LENGTHENED
>       target-s390: Convert FP SUBTRACT
>       target-s390: Convert FP DIVIDE
>       target-s390: Convert FP MULTIPLY
>       target-s390: Convert MULTIPLY AND ADD, SUBTRACT
>       target-s390: Convert TEST DATA CLASS
>       target-s390: Convert FP LOAD COMPLIMENT, NEGATIVE, POSITIVE
>       target-s390: Convert FP SQUARE ROOT
>       target-s390: Convert LOAD ZERO
>       target-s390: Convert CONVERT TO FIXED
>       target-s390: Convert CONVERT FROM FIXED
>       target-s390: Convert FLOGR
>       target-s390: Convert LFPC, SFPC
>       target-s390: Convert IPM
>       target-s390: Convert CKSM
>       target-s390: Convert EAR, SAR
>       target-s390: Convert MVPG
>       target-s390: Convert CLST, MVST
>       target-s390: Convert SRST
>       target-s390: Convert STIDP
>       target-s390: Convert SCK
>       target-s390: Convert STCK
>       target-s390: Convert SCKC, STCKC
>       target-s390: Convert SPT, STPT
>       target-s390: Convert SPKA
>       target-s390: Convert PTLB
>       target-s390: Convert SPX, STPX
>       target-s390: Convert STAP
>       target-s390: Convert IPTE
>       target-s390: Convert ISKE
>       target-s390: Convert SSKE
>       target-s390: Convert RRBE
>       target-s390: Convert subchannel instructions
>       target-s390: Convert STURA
>       target-s390: Convert CSP
>       target-s390: Convert STCKE
>       target-s390: Convert SACF
>       target-s390: Convert STSI
>       target-s390: Convert STFL
>       target-s390: Convert LPSWE
>       target-s390: Convert SERVC
>       target-s390: Delete dead code from old translator
>       target-s390: Implement BRANCH ON INDEX
>       target-s390: Tidy s->op_cc handling
>       target-s390: Implement COMPARE AND BRANCH
>       target-s390: Implement RISBG
>       target-s390: Implement LDGR, LGDR
>       target-s390: Implement R[NOX]SBG
>       target-s390: Implement PREFETCH
>       target-s390: Implement COMPARE RELATIVE LONG
>       target-s390: Implement COMPARE AND TRAP
>       target-s390: Implement LOAD ON CONDITION
>       target-s390: Implement STORE ON CONDITION
>       target-s390: Implement CONVERT TO LOGICAL
>       target-s390: Implement CONVERT FROM LOGICAL
>       target-s390: Implement POPCNT
>       target-s390: Implement CPSDR
>       target-s390: Check insn operand specifications
>       target-s390: Implement LCDFR
>       target-s390: Use uint64_to_float128
>       target-s390: Implement SET ROUNDING MODE
>       target-s390: Implement LOAD/SET FP AND SIGNAL
>       target-s390: Fix cpu_clone_regs
>       target-s390: Optimize XC
>       target-s390: Optmize emitting discards
>       target-s390: Tidy comparisons
>       target-s390: Optimize ADDU/SUBU CC testing
>       target-s390: Optimize ADDC/SUBB
>       target-s390: Optimize get_address
>       target-s390: Perform COMPARE AND SWAP inline
>       target-s390: Use TCG_CALL_NO_WG for memory helpers
>       target-s390: Use TCG_CALL_NO_WG for floating-point helpers
>       target-s390: Use TCG_CALL_NO_WG for integer helpers
>       target-s390: Use TCG_CALL_NO_WG for misc helpers
>       target-s390: Use noreturn for exception and load_psw
>       target-s390: Claim maintainership
>
>  MAINTAINERS                  |    1 +
>  disas/s390.c                 |  173 +-
>  gdbstub.c                    |   78 +-
>  linux-user/main.c            |  140 +-
>  linux-user/s390x/syscall.h   |    2 +-
>  target-s390x/cc_helper.c     |  335 +-
>  target-s390x/cpu.h           |  167 +-
>  target-s390x/fpu_helper.c    |  960 ++---
>  target-s390x/helper.c        |   67 +-
>  target-s390x/helper.h        |  220 +-
>  target-s390x/insn-data.def   |  813 ++++
>  target-s390x/insn-format.def |   55 +
>  target-s390x/int_helper.c    |  176 +-
>  target-s390x/mem_helper.c    |  359 +-
>  target-s390x/misc_helper.c   |   94 +-
>  target-s390x/translate.c     | 8685 ++++++++++++++++++++----------------------
>  16 files changed, 6348 insertions(+), 5977 deletions(-)
>  create mode 100644 target-s390x/insn-data.def
>  create mode 100644 target-s390x/insn-format.def
>