qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH 00/15] tcg-sparc improvments


From: Richard Henderson
Subject: [Qemu-devel] [PATCH 00/15] tcg-sparc improvments
Date: Sun, 25 Mar 2012 15:27:42 -0700

32-bit sparc hasn't worked in quite a while.  Missing opcodes,
incorrect opcodes, unconditional use of ASI_PRIMARY_LITTLE.

This patch set begins by dropping support for pre-v9 sparc.
This lets us clean things up quite a bit, using 64-bit load
and store operations.

I was still having problems with %g6 being clobbered in glibc.  
Patches 7-10 drop the use of global registers for the sparc
port entirely.  Given the hoops being used to protect areg0
around calls within the tcg generated code, deferring to a
%g7-relative tls access in the helpers is approximately as
efficient.  As targets are converted to CONFIG_TCG_PASS_AREG0
even this will improve as direct register access is available.



r~


Richard Henderson (15):
  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.
  tcg-sparc: Steamline qemu_ld/st more.
  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.

 configure              |   53 +---
 dyngen-exec.h          |   27 +-
 exec-all.h             |    9 +-
 exec.c                 |   16 +-
 tcg/sparc/tcg-target.c |  951 +++++++++++++++++++++++-------------------------
 tcg/sparc/tcg-target.h |   34 +-
 user-exec.c            |   17 +-
 7 files changed, 520 insertions(+), 587 deletions(-)

-- 
1.7.7.6




reply via email to

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