qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v4 00/24] target-sparc improvements
@ 2016-06-28  0:38 Richard Henderson
  2016-06-28  0:38 ` [Qemu-devel] [PATCH v4 01/24] target-sparc: Mark more flags for helpers Richard Henderson
                   ` (24 more replies)
  0 siblings, 25 replies; 27+ messages in thread
From: Richard Henderson @ 2016-06-28  0:38 UTC (permalink / raw)
  To: qemu-devel; +Cc: mark.cave-ayland

The primary focus of this patch set is to reduce the number of
helpers that modify TCG globals, and thus increase the lifetime
of those globals within each TB, and thus decrease the number
of times that tcg must spill and fill them from backing store.

As a byproduct, I also implement the bulk of the interesting v9 ASIs
inline, thus exposing e.g. the little-endian loads and stores as
simple tcg operations.

The patch set is relative to my outstanding tcg pull request.
For reference, the complete tree can be found at

  git://github.com/rth7680/qemu.git tgt-sparc-2

Changes from v3 to v4:
  * Re-do the UA2005 commit change, which apparently got lost in v3.
  * Rebased on aa8151b7df, which contains fix for the ldstub issue.

Changes from v2 to v3:
  * Add ASI_BLK_COMMIT_[PS] to patch 19.
    This fixes the illegal instruction that Artyom reported.
  * Add gen_address_mask calls to all direct accesses.
    This fixes a follow-on segv that affected the debian install.

Changes from v1 to v2:
  * Commit message refers to UA2005 instead of UA2011 when
    introducing new asi.h defines. (Artyom)
  * Drop MMU_REAL_IDX, and inline handling of ASI_REAL_*.
    This appears to be the source of the regression that Artyom
    identified wrt ss5 emulation.


r~


Richard Henderson (24):
  target-sparc: Mark more flags for helpers
  target-sparc: Remove softint as a TCG global
  target-sparc: Store mmu index in TB flags
  target-sparc: Create gen_exception
  target-sparc: Unify asi handling between 32 and 64-bit
  target-sparc: Store %asi in TB flags
  target-sparc: Introduce get_asi
  target-sparc: Pass TCGMemOp to gen_ld/st_asi
  target-sparc: Import linux/arch/sparc/include/uapi/asm/asi.h
  target-sparc: Add UA2005 defines to asi.h
  target-sparc: Use defines from asi.h
  target-sparc: Directly implement easy ld/st asis
  target-sparc: Use QT0 to return results from ldda
  target-sparc: Introduce gen_check_align
  target-sparc: Directly implement easy ldd/std asis
  target-sparc: Fix obvious error in ASI_M_BFILL
  target-sparc: Pass TCGMemOp constants to helper_ld/st_asi
  target-sparc: Directly implement easy ldf/stf asis
  target-sparc: Directly implement block and short ldf/stf asis
  target-sparc: Remove helper_ldf_asi, helper_stf_asi
  target-sparc: Use explicit writes to cpu_fsr
  target-sparc: Use cpu_fsr in stfsr
  target-sparc: Use cpu_loop_exit_restore from
    helper_check_ieee_exceptions
  target-sparc: Elide duplicate updates to fprs

 target-sparc/asi.h         |  311 +++++++++++
 target-sparc/cpu.h         |   28 +-
 target-sparc/fop_helper.c  |  230 +++-----
 target-sparc/helper.h      |  168 +++---
 target-sparc/ldst_helper.c |  696 +++++++++++-------------
 target-sparc/translate.c   | 1273 ++++++++++++++++++++++++++++----------------
 6 files changed, 1607 insertions(+), 1099 deletions(-)
 create mode 100644 target-sparc/asi.h

-- 
2.5.5

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

end of thread, other threads:[~2016-06-29  4:14 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-06-28  0:38 [Qemu-devel] [PATCH v4 00/24] target-sparc improvements Richard Henderson
2016-06-28  0:38 ` [Qemu-devel] [PATCH v4 01/24] target-sparc: Mark more flags for helpers Richard Henderson
2016-06-28  0:38 ` [Qemu-devel] [PATCH v4 02/24] target-sparc: Remove softint as a TCG global Richard Henderson
2016-06-28  0:38 ` [Qemu-devel] [PATCH v4 03/24] target-sparc: Store mmu index in TB flags Richard Henderson
2016-06-28  0:38 ` [Qemu-devel] [PATCH v4 04/24] target-sparc: Create gen_exception Richard Henderson
2016-06-28  0:38 ` [Qemu-devel] [PATCH v4 05/24] target-sparc: Unify asi handling between 32 and 64-bit Richard Henderson
2016-06-28  0:38 ` [Qemu-devel] [PATCH v4 06/24] target-sparc: Store %asi in TB flags Richard Henderson
2016-06-28  0:38 ` [Qemu-devel] [PATCH v4 07/24] target-sparc: Introduce get_asi Richard Henderson
2016-06-28  0:38 ` [Qemu-devel] [PATCH v4 08/24] target-sparc: Pass TCGMemOp to gen_ld/st_asi Richard Henderson
2016-06-28  0:38 ` [Qemu-devel] [PATCH v4 09/24] target-sparc: Import linux/arch/sparc/include/uapi/asm/asi.h Richard Henderson
2016-06-28  0:38 ` [Qemu-devel] [PATCH v4 10/24] target-sparc: Add UA2005 defines to asi.h Richard Henderson
2016-06-28  0:39 ` [Qemu-devel] [PATCH v4 11/24] target-sparc: Use defines from asi.h Richard Henderson
2016-06-28  0:39 ` [Qemu-devel] [PATCH v4 12/24] target-sparc: Directly implement easy ld/st asis Richard Henderson
2016-06-28  0:39 ` [Qemu-devel] [PATCH v4 13/24] target-sparc: Use QT0 to return results from ldda Richard Henderson
2016-06-28  0:39 ` [Qemu-devel] [PATCH v4 14/24] target-sparc: Introduce gen_check_align Richard Henderson
2016-06-28  0:39 ` [Qemu-devel] [PATCH v4 15/24] target-sparc: Directly implement easy ldd/std asis Richard Henderson
2016-06-28  0:39 ` [Qemu-devel] [PATCH v4 16/24] target-sparc: Fix obvious error in ASI_M_BFILL Richard Henderson
2016-06-28  0:39 ` [Qemu-devel] [PATCH v4 17/24] target-sparc: Pass TCGMemOp constants to helper_ld/st_asi Richard Henderson
2016-06-28  0:39 ` [Qemu-devel] [PATCH v4 18/24] target-sparc: Directly implement easy ldf/stf asis Richard Henderson
2016-06-28  0:39 ` [Qemu-devel] [PATCH v4 19/24] target-sparc: Directly implement block and short " Richard Henderson
2016-06-28  0:39 ` [Qemu-devel] [PATCH v4 20/24] target-sparc: Remove helper_ldf_asi, helper_stf_asi Richard Henderson
2016-06-28  0:39 ` [Qemu-devel] [PATCH v4 21/24] target-sparc: Use explicit writes to cpu_fsr Richard Henderson
2016-06-28  0:39 ` [Qemu-devel] [PATCH v4 22/24] target-sparc: Use cpu_fsr in stfsr Richard Henderson
2016-06-28  0:39 ` [Qemu-devel] [PATCH v4 23/24] target-sparc: Use cpu_loop_exit_restore from helper_check_ieee_exceptions Richard Henderson
2016-06-28  0:39 ` [Qemu-devel] [PATCH v4 24/24] target-sparc: Elide duplicate updates to fprs Richard Henderson
2016-06-28 22:44 ` [Qemu-devel] [PATCH v4 00/24] target-sparc improvements Mark Cave-Ayland
2016-06-29  4:14   ` 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).