[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 00/25] target-sparc improvements
From: |
Mark Cave-Ayland |
Subject: |
Re: [Qemu-devel] [PATCH 00/25] target-sparc improvements |
Date: |
Tue, 29 Dec 2015 18:59:24 +0000 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Icedove/38.4.0 |
On 17/12/15 20:54, Richard Henderson wrote:
> 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.
>
> This patch set is relative to the "Improve sparc register windows"
> patches, which turned all of the integer registers into TCG globals.
> Thus this patch set improves the effect of the previous patch set.
>
> 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.
>
>
> r~
>
>
> Richard Henderson (25):
> 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 UA2011 defines to asi.h
> target-sparc: Use defines from asi.h
> target-sparc: Add MMU_REAL_IDX
> 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 | 46 +-
> target-sparc/fop_helper.c | 229 +++-----
> target-sparc/helper.h | 168 +++---
> target-sparc/ldst_helper.c | 696 +++++++++++-------------
> target-sparc/mmu_helper.c | 90 ++--
> target-sparc/translate.c | 1264
> ++++++++++++++++++++++++++++----------------
> 7 files changed, 1667 insertions(+), 1137 deletions(-)
> create mode 100644 target-sparc/asi.h
Hi Richard,
I've given your tgt-sparc branch a good run with my OpenBIOS test suite,
and I don't see any regressions here so this is looking good from my
point of view. As a general comment, qemu-system-sparc64 feels
noticeably slicker with this patchset applied.
Also with SPARC32 this branch apparently fixes at least one bug since my
pre-installed Solaris 8 image will now start X windows (although it
still hangs for long periods of time - but I believe that is the
long-standing MUTEX_HELD bug rather than anything new).
If there are explicit bug-fixes related to above then my preference
would be to have them as a separate patchset outside of the performance
improvements, but then if this isn't feasible then I don't feel that
this should block getting this patches applied to master.
Tested-by: Mark Cave-Ayland <address@hidden>
Thanks once again for all your work on this!
ATB,
Mark.
- [Qemu-devel] [PATCH 14/25] target-sparc: Use QT0 to return results from ldda, (continued)
- [Qemu-devel] [PATCH 14/25] target-sparc: Use QT0 to return results from ldda, Richard Henderson, 2015/12/17
- [Qemu-devel] [PATCH 19/25] target-sparc: Directly implement easy ldf/stf asis, Richard Henderson, 2015/12/17
- [Qemu-devel] [PATCH 20/25] target-sparc: Directly implement block and short ldf/stf asis, Richard Henderson, 2015/12/17
- [Qemu-devel] [PATCH 21/25] target-sparc: Remove helper_ldf_asi, helper_stf_asi, Richard Henderson, 2015/12/17
- [Qemu-devel] [PATCH 23/25] target-sparc: Use cpu_fsr in stfsr, Richard Henderson, 2015/12/17
- [Qemu-devel] [PATCH 24/25] target-sparc: Use cpu_loop_exit_restore from helper_check_ieee_exceptions, Richard Henderson, 2015/12/17
- [Qemu-devel] [PATCH 25/25] target-sparc: Elide duplicate updates to fprs, Richard Henderson, 2015/12/17
- [Qemu-devel] [PATCH 06/25] target-sparc: Store %asi in TB flags, Richard Henderson, 2015/12/17
- [Qemu-devel] [PATCH 08/25] target-sparc: Pass TCGMemOp to gen_ld/st_asi, Richard Henderson, 2015/12/17
- Re: [Qemu-devel] [PATCH 00/25] target-sparc improvements, Richard Henderson, 2015/12/17
- Re: [Qemu-devel] [PATCH 00/25] target-sparc improvements,
Mark Cave-Ayland <=