qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH v2 0/6] target-arm: reduce usage of global env


From: Peter Maydell
Subject: [Qemu-devel] [PATCH v2 0/6] target-arm: reduce usage of global env
Date: Mon, 6 Jun 2011 19:40:54 +0100

This patchset is largely aimed at rolling back the changes from an
earlier patchset of mine:
http://lists.gnu.org/archive/html/qemu-devel/2011-04/msg00244.html
which made various Neon helper routines use the correct FP status
flags by having them use the global env.

Since we've decided we're trying to get rid of the global CPUState
pointer (at least in C code), patches 1, 5, 6 here are basically
reverting patches 1,2,3 of that earlier patchset. In order not
to throw the baby out with the bathwater, patches 2, 3, 4 make
the helper routines which need to use the FP status take a pointer
to the fp status word. (In a few cases we can then merge them
with the equivalent VFP helpers.)

This obviously still leaves some global CPUState use in op_helper.c,
but it's a move in the right direction.

v1->v2 changes:
 * rebased
 * fix TCGv_ptr/TCGv_i32 bug when getting fpstatus pointer
 * correct the generated call to helper_vfp_mul* in gen_vfp_F1_mul()
   (accidentally omitted from v1, causing VMLA/VNMLS bugs)

Peter Maydell (6):
  Revert "target-arm: Use global env in iwmmxt_helper.c helpers"
  target-arm: Add helper function to generate code to get fpstatus
    pointer
  target-arm: Make VFP binop helpers take pointer to fpstatus, not
    CPUState
  target-arm: Pass fp status pointer explicitly to neon fp helpers
  Revert "target-arm: Use global env in neon_helper.c helpers"
  Revert "Makefile.target: Allow target helpers to be in any *_helper.c
    file"

 Makefile.target            |    2 +-
 target-arm/helper.c        |   10 +-
 target-arm/helper.h        |  293 +++++++++++++++---------------
 target-arm/iwmmxt_helper.c |   80 +++++----
 target-arm/neon_helper.c   |  201 ++++++++++-----------
 target-arm/translate.c     |  437 ++++++++++++++++++++++++++------------------
 6 files changed, 558 insertions(+), 465 deletions(-)




reply via email to

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