[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 00/27] target/sh4 improvements
From: |
Richard Henderson |
Subject: |
[Qemu-devel] [PATCH v2 00/27] target/sh4 improvements |
Date: |
Thu, 6 Jul 2017 16:20:44 -1000 |
This fixes two problems with atomic operations on sh4,
including an attempt at supporting the user-space atomics
technique used by most sh-linux-user binaries.
Changes since v1:
* Rebase on Aurelien's recent sh4 patchset.
* Patch 3,5 split out of patch 6.
* Patch 4 fixes the sh4-softmmu problem that Aurelien reported.
* Handle more cases of atomic_fetch_op seen in debian images.
* More cleanups for register banking.
* Fix for 64-bit fp memory operations.
* Tidy illegal instruction checks.
* Implement fpchg (missing from sh4a)
* Implement fsrra (had a nop implementation)
* Use tcg_gen_lookup_and_goto_ptr for simple branches.
Tested with debian unstable bash and our sh-test-0.2.
I do *not* see the crashes that glaubitz reported.
If they're still there I'll need a more complete report.
Full tree is again at
git://github.com/rth7680/qemu.git tgt-sh4
r~
Richard Henderson (27):
target/sh4: Use cmpxchg for movco
target/sh4: Consolidate end-of-TB tests
target/sh4: Introduce TB_FLAG_ENVFLAGS_MASK
target/sh4: Keep env->flags clean
target/sh4: Adjust TB_FLAG_PENDING_MOVCA
target/sh4: Handle user-space atomics
target/sh4: Recognize common gUSA sequences
linux-user/sh4: Notice gUSA regions during signal delivery
linux-user/sh4: Clean env->flags on signal boundaries
target/sh4: Hoist register bank selection
target/sh4: Unify cpu_fregs into FREG
target/sh4: Pass DisasContext to fpr64 routines
target/sh4: Hoist fp register bank selection
target/sh4: Eliminate unused XREG macro
target/sh4: Merge DREG into fpr64 routines
target/sh4: Load/store Dr as 64-bit quantities
target/sh4: Simplify 64-bit fp reg-reg move
target/sh4: Unify code for CHECK_NOT_DELAY_SLOT
target/sh4: Unify code for CHECK_PRIVILEGED
target/sh4: Unify code for CHECK_FPU_ENABLED
target/sh4: Tidy misc illegal insn checks
target/sh4: Introduce CHECK_FPSCR_PR_*
target/sh4: Introduce CHECK_SH4A
target/sh4: Implement fpchg
target/sh4: Add missing FPSCR.PR == 0 checks
target/sh4: Implement fsrra
target/sh4: Use tcg_gen_lookup_and_goto_ptr
target/sh4/cpu.h | 27 +-
target/sh4/helper.h | 2 +
linux-user/signal.c | 26 ++
target/sh4/cpu.c | 2 +-
target/sh4/op_helper.c | 22 ++
target/sh4/translate.c | 946 ++++++++++++++++++++++++++++++++++++-------------
6 files changed, 775 insertions(+), 250 deletions(-)
--
2.9.4
- [Qemu-devel] [PATCH v2 00/27] target/sh4 improvements,
Richard Henderson <=