The big ticket item in this series is the support for user-space atomics. But a lot of other cleanup has crept in as well.
Changes since v2 incorporate feedback from Aurelien. I've tried to remember to add individual changelogs to the patches, but I may have forgotten some. I do now include the linux-user reserved_va changes that I posted subsequent to posting v2. I believe there are only 4 patches that have not seen a Reviewed-by yet. r~ Richard Henderson (30): 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 tcg: Fix off-by-one in assert in page_set_flags linux-user: Tidy and enforce reserved_va initialization linux-user/sh4: Reduce TARGET_VIRT_ADDR_SPACE_BITS to 31 linux-user/arm/target_cpu.h | 4 + target/mips/mips-defs.h | 6 +- target/nios2/cpu.h | 6 +- target/sh4/cpu.h | 33 +- target/sh4/helper.h | 2 + accel/tcg/translate-all.c | 2 +- linux-user/main.c | 39 +- linux-user/signal.c | 33 ++ target/sh4/cpu.c | 2 +- target/sh4/helper.c | 2 +- target/sh4/op_helper.c | 22 + target/sh4/translate.c | 975 ++++++++++++++++++++++++++++++++------------ 12 files changed, 839 insertions(+), 287 deletions(-) -- 2.9.4