qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Richard Henderson <rth@twiddle.net>
To: qemu-devel@nongnu.org
Cc: aurelien@aurel32.net
Subject: [Qemu-devel] [PATCH 00/16] Streamlining endian handling in TCG
Date: Wed,  4 Sep 2013 14:04:49 -0700	[thread overview]
Message-ID: <1378328705-23006-1-git-send-email-rth@twiddle.net> (raw)

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	other threads:[~2013-09-04 21:05 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-04 21:04 Richard Henderson [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1378328705-23006-1-git-send-email-rth@twiddle.net \
    --to=rth@twiddle.net \
    --cc=aurelien@aurel32.net \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).