diff --git a/target/ppc/translate.c b/target/ppc/translate.c index f603f1a939..49a6b91842 100644 --- a/target/ppc/translate.c +++ b/target/ppc/translate.c @@ -3803,6 +3803,7 @@ static void gen_lqarx(DisasContext *ctx) tcg_gen_qemu_ld_i64(lo, EA, ctx->mem_idx, MO_BEUQ); } + tcg_gen_mov_tl(cpu_reserve, EA); tcg_gen_st_tl(hi, cpu_env, offsetof(CPUPPCState, reserve_val)); tcg_gen_st_tl(lo, cpu_env, offsetof(CPUPPCState, reserve_val2)); }