diff --git a/qemu/target/arm/translate-a64.c b/qemu/target/arm/translate-a64.c index 716ed106..73a4c701 100644 --- a/qemu/target/arm/translate-a64.c +++ b/qemu/target/arm/translate-a64.c @@ -1959,7 +1959,7 @@ static void gen_store_exclusive(DisasContext *s, int rd, int rt, int rt2, tcg_gen_concat32_i64(tcg_ctx, val, tcg_ctx->cpu_exclusive_val, tcg_ctx->cpu_exclusive_high); tcg_gen_atomic_cmpxchg_i64(tcg_ctx, tmp, addr, val, tmp, get_mem_index(s), - size | MO_ALIGN | s->be_data); + MO_64 | MO_ALIGN | s->be_data); tcg_gen_setcond_i64(tcg_ctx, TCG_COND_NE, tmp, tmp, val); tcg_temp_free_i64(tcg_ctx, val); } else if (s->be_data == MO_LE) {