[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
- [Qemu-devel] [PATCH 00/16] Streamlining endian handling in TCG,
Richard Henderson <=
- [Qemu-devel] [PATCH 03/16] tcg-aarch64: Use TCGMemOp within qemu_ldst routines, Richard Henderson, 2013/09/04
- [Qemu-devel] [PATCH 04/16] tcg-arm: Use TCGMemOp within qemu_ldst routines, Richard Henderson, 2013/09/04
- [Qemu-devel] [PATCH 02/16] tcg-i386: Use TCGMemOp within qemu_ldst routines, Richard Henderson, 2013/09/04
- [Qemu-devel] [PATCH 01/16] tcg: Add TCGMemOp, Richard Henderson, 2013/09/04
- [Qemu-devel] [PATCH 05/16] tcg-s390: Use TCGMemOp within qemu_ldst routines, Richard Henderson, 2013/09/04
- [Qemu-devel] [PATCH 06/16] tcg-ppc: Use TCGMemOp within qemu_ldst routines, Richard Henderson, 2013/09/04
- [Qemu-devel] [PATCH 07/16] tcg-ppc64: Use TCGMemOp within qemu_ldst routines, Richard Henderson, 2013/09/04
- [Qemu-devel] [PATCH 08/16] tcg-hppa: Use TCGMemOp within qemu_ldst routines, Richard Henderson, 2013/09/04
- [Qemu-devel] [PATCH 09/16] tcg-mips: Use TCGMemOp within qemu_ldst routines, Richard Henderson, 2013/09/04
- [Qemu-devel] [PATCH 10/16] tcg-sparc: Use TCGMemOp within qemu_ldst routines, Richard Henderson, 2013/09/04