On Thu, Apr 19, 2012 at 13:33, Richard Henderson <r...@twiddle.net> wrote: > Changes v2->v3: > * Patch 3, undo disassembly errors spotted by Blue. > * Patch 8, update for changes in mainline.
The patches still have some problems: checkpatch 05 WARNING: suspect code indent for conditional statements (4, 7) #395: FILE: tcg/sparc/tcg-target.c:889: + if (ARG_OFFSET) { + tcg_out_mov(s, TCG_TYPE_PTR, tcg_target_call_iarg_regs[0], TCG_AREG0); WARNING: suspect code indent for conditional statements (4, 9) #542: FILE: tcg/sparc/tcg-target.c:1013: + if (ARG_OFFSET) { + tcg_out_mov(s, TCG_TYPE_PTR, tcg_target_call_iarg_regs[0], TCG_AREG0); total: 0 errors, 2 warnings, 525 lines checked checkpatch 12 WARNING: line over 80 characters #231: FILE: tcg/sparc/tcg-target.c:1098: + tcg_out_ld_ptr(s, TCG_REG_T1, (tcg_target_long)(s->tb_next + args[0])); total: 0 errors, 1 warnings, 238 lines checked Applying: Avoid declaring the env variable at all if CONFIG_TCG_PASS_AREG0. error: patch failed: Makefile.target:116 error: Makefile.target: patch does not apply Patch failed at 0007 Avoid declaring the env variable at all if CONFIG_TCG_PASS_AREG0. > > Changes v1->v2: > * Patch 3 found more __sparc_v8plus__ and __sparc_v9__ conditionals > to convert. > * Patch 6, user-exec.c no longer uses dyngen-exec.h at all. > * Patch 7, env fallback to cpu_single_env now via macro. > * Merged some of the qemu_ld/st patches. > * Other random cleanups, as now I was able to test sparc64. > > > r~ > > > Richard Henderson (14): > tcg-sparc: Hack in qemu_ld/st64 for 32-bit. > tcg-sparc: Fix ADDX opcode. > tcg-sparc: Assume v9 cpu always, i.e. force v8plus in 32-bit mode. > tcg-sparc: Fix qemu_ld/st to handle 32-bit host. > tcg-sparc: Simplify qemu_ld/st direct memory paths. > tcg-sparc: Support GUEST_BASE. > Avoid declaring the env variable at all if CONFIG_TCG_PASS_AREG0. > tcg-sparc: Do not use a global register for AREG0. > tcg-sparc: Change AREG0 in generated code to %i0. > tcg-sparc: Clean up cruft stemming from attempts to use global > registers. > tcg-sparc: Mask shift immediates to avoid illegal insns. > tcg-sparc: Use defines for temporaries. > tcg-sparc: Add %g/%o registers to alloc_order > tcg-sparc: Fix and enable direct TB chaining. > > Makefile.target | 5 - > configure | 53 +--- > disas.c | 2 - > dyngen-exec.h | 24 +- > exec-all.h | 9 +- > exec.c | 12 +- > qemu-timer.h | 8 +- > target-m68k/op_helper.c | 2 +- > target-unicore32/op_helper.c | 2 +- > target-xtensa/op_helper.c | 4 +- > tcg/sparc/tcg-target.c | 958 > ++++++++++++++++++++---------------------- > tcg/sparc/tcg-target.h | 34 +- > tcg/tcg.c | 3 +- > user-exec.c | 17 +- > xtensa-semi.c | 4 +- > 15 files changed, 514 insertions(+), 623 deletions(-) > > -- > 1.7.7.6 >