Ping. I've updated the branch at
git://repo.or.cz/qemu/rth.git s390-reorg to rebase vs mainline (ce34cf72fe508b27a78f83c184142e8d1e6a048a). There are minor changes due to Aurel's TCG_CALL_NO_* rewrite, but is otherwise unchanged. I can re-post the 140+ patches if required... r~ On 2012-09-27 15:39, Richard Henderson wrote: > Tons of changes since v1. I believe I incorproated all of the feedback > that I received. The patch set is relative to the "TCGCond" patch set > that I sent out earlier this week. Both trees are available at > > git://repo.or.cz/qemu/rth.git tcg-cond > git://repo.or.cz/qemu/rth.git s390-reorg > > This passes the gcc testsuite in userland with no unexpected failures > (considering anything that touches threads to be "expected"). It boots > a debian system image as well as (or as poorly as) mainline -- agraf > and I had a rather long session re those failures on IRC the other day. > > Note that patches 2-11 are bug fixes for the *existing* code base. I > found that I had to fix those in order to be able to properly bisect > problems in the later patches. > > The last 7 patches are new, and improve the generated code for a > variety of stuff I noticed while staring at dumps. Not that the > last 25 patches or so made it to the list last time... > > > r~ > > > Alexander Graf (1): > s390x: fix -initrd in virtio machine > > Richard Henderson (146): > tcg: Add TCGV_IS_UNUSED_* > 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 > softfloat: Fix uint64_to_float64 > softfloat: Implement uint64_to_float128 > 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 > > fpu/softfloat.c | 15 +- > fpu/softfloat.h | 1 + > gdbstub.c | 78 +- > hw/s390-virtio.c | 4 +- > linux-user/main.c | 140 +- > linux-user/s390x/syscall.h | 2 +- > s390-dis.c | 173 +- > 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 | 188 +- > 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 | 97 +- > target-s390x/translate.c | 8684 > ++++++++++++++++++++---------------------- > tcg/tcg.h | 3 + > 19 files changed, 6354 insertions(+), 5963 deletions(-) > create mode 100644 target-s390x/insn-data.def > create mode 100644 target-s390x/insn-format.def >