qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 00/16] Streamlining endian handling in TCG


From: Richard Henderson
Subject: [Qemu-devel] [PATCH 00/16] Streamlining endian handling in TCG
Date: Wed, 4 Sep 2013 14:04:49 -0700

This patch set is far from complete, and is more of an RFC, but it
contains at least one example of each of the 4-5 steps in the conversion.

Step 1 is the most complete, as it's largely a search-and-replace step
on the tcg backends.  The enumeration values of TCGMemOp match the
current integer values, with the exception of the addition of BSWAP=8.
Therefore in some places in the patches I do more masking than previous,
to get rid of that bswap bit.

I at least cross-compiled to all but 3 of the tcg backends, but since
the demise of a portion of the gcc compile farm I'm no longer able to
test hppa, mips, sparc.  And for those, downloading the proper cross
environment turned out to be tricky -- curse our new external library
dependencies.

After that, I've only converted the i386 backend, and the ppc frontend,
to the new opcodes.  I'm able to boot the fedora 19 ppc64 installer,
and a browse of the dumps are encouraging.


r~


Richard Henderson (16):
  tcg: Add TCGMemOp
  tcg-i386: Use TCGMemOp within qemu_ldst routines
  tcg-aarch64: Use TCGMemOp within qemu_ldst routines
  tcg-arm: Use TCGMemOp within qemu_ldst routines
  tcg-s390: Use TCGMemOp within qemu_ldst routines
  tcg-ppc: Use TCGMemOp within qemu_ldst routines
  tcg-ppc64: Use TCGMemOp within qemu_ldst routines
  tcg-hppa: Use TCGMemOp within qemu_ldst routines
  tcg-mips: Use TCGMemOp within qemu_ldst routines
  tcg-sparc: Use TCGMemOp within qemu_ldst routines
  tcg: Add qemu_ld_st_i32/64
  exec: Add both big- and little-endian memory helpers
  tcg-i386: Tidy softmmu routines
  tcg-i386: Remove "cb" output restriction from qemu_st8 for i386
  tcg-i386: Support new ldst opcodes
  target-ppc: Convert to new ldst opcodes

 include/exec/softmmu_template.h | 286 +++++++++++++++--
 target-ppc/translate.c          | 147 +++------
 tcg/README                      |  43 ++-
 tcg/aarch64/tcg-target.c        | 126 ++++----
 tcg/aarch64/tcg-target.h        |   2 +
 tcg/arm/tcg-target.c            | 125 ++++----
 tcg/arm/tcg-target.h            |   2 +
 tcg/hppa/tcg-target.c           | 110 +++----
 tcg/hppa/tcg-target.h           |   2 +
 tcg/i386/tcg-target.c           | 695 ++++++++++++++++++----------------------
 tcg/i386/tcg-target.h           |   2 +
 tcg/ia64/tcg-target.h           |   2 +
 tcg/mips/tcg-target.c           | 116 +++----
 tcg/mips/tcg-target.h           |   2 +
 tcg/ppc/tcg-target.c            |  93 +++---
 tcg/ppc/tcg-target.h            |   2 +
 tcg/ppc64/tcg-target.c          |  82 ++---
 tcg/ppc64/tcg-target.h          |   2 +
 tcg/s390/tcg-target.c           | 107 +++----
 tcg/s390/tcg-target.h           |   2 +
 tcg/sparc/tcg-target.c          | 116 ++++---
 tcg/sparc/tcg-target.h          |   2 +
 tcg/tcg-op.h                    | 239 ++++----------
 tcg/tcg-opc.h                   |  96 ++++--
 tcg/tcg.c                       | 209 ++++++++++++
 tcg/tcg.h                       | 124 +++++--
 tcg/tci/tcg-target.h            |   2 +
 27 files changed, 1500 insertions(+), 1236 deletions(-)

-- 
1.8.1.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]