qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 00/16] Streamlining endian handling in TCG
@ 2013-09-04 21:04 Richard Henderson
  2013-09-04 21:04 ` [Qemu-devel] [PATCH 01/16] tcg: Add TCGMemOp Richard Henderson
                   ` (15 more replies)
  0 siblings, 16 replies; 22+ messages in thread
From: Richard Henderson @ 2013-09-04 21:04 UTC (permalink / raw)
  To: qemu-devel; +Cc: aurelien

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

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2013-09-05 15:35 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-04 21:04 [Qemu-devel] [PATCH 00/16] Streamlining endian handling in TCG Richard Henderson
2013-09-04 21:04 ` [Qemu-devel] [PATCH 01/16] tcg: Add TCGMemOp Richard Henderson
2013-09-04 21:04 ` [Qemu-devel] [PATCH 02/16] tcg-i386: Use TCGMemOp within qemu_ldst routines Richard Henderson
2013-09-04 21:04 ` [Qemu-devel] [PATCH 03/16] tcg-aarch64: " Richard Henderson
2013-09-04 21:04 ` [Qemu-devel] [PATCH 04/16] tcg-arm: " Richard Henderson
2013-09-04 21:04 ` [Qemu-devel] [PATCH 05/16] tcg-s390: " Richard Henderson
2013-09-04 21:04 ` [Qemu-devel] [PATCH 06/16] tcg-ppc: " Richard Henderson
2013-09-04 21:04 ` [Qemu-devel] [PATCH 07/16] tcg-ppc64: " Richard Henderson
2013-09-04 21:04 ` [Qemu-devel] [PATCH 08/16] tcg-hppa: " Richard Henderson
2013-09-04 21:04 ` [Qemu-devel] [PATCH 09/16] tcg-mips: " Richard Henderson
2013-09-04 21:04 ` [Qemu-devel] [PATCH 10/16] tcg-sparc: " Richard Henderson
2013-09-04 21:05 ` [Qemu-devel] [PATCH 11/16] tcg: Add qemu_ld_st_i32/64 Richard Henderson
2013-09-04 21:05 ` [Qemu-devel] [PATCH 12/16] exec: Add both big- and little-endian memory helpers Richard Henderson
2013-09-04 21:05 ` [Qemu-devel] [PATCH 13/16] tcg-i386: Tidy softmmu routines Richard Henderson
2013-09-04 21:05 ` [Qemu-devel] [PATCH 14/16] tcg-i386: Remove "cb" output restriction from qemu_st8 for i386 Richard Henderson
2013-09-04 21:05 ` [Qemu-devel] [PATCH 15/16] tcg-i386: Support new ldst opcodes Richard Henderson
2013-09-04 21:05 ` [Qemu-devel] [PATCH 16/16] target-ppc: Convert to " Richard Henderson
2013-09-05  9:08   ` [Qemu-devel] [Qemu-ppc] " Alexander Graf
2013-09-05 11:40     ` Benjamin Herrenschmidt
2013-09-05 12:59       ` Alexander Graf
2013-09-05 13:37         ` Benjamin Herrenschmidt
2013-09-05 15:35       ` Richard Henderson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).