@@ -3584,6 +3588,7 @@ static void gen_load_locked(DisasContext *ctx, MemOp memop) gen_set_access_type(ctx, ACCESS_RES); gen_addr_reg_index(ctx, t0); tcg_gen_mov_tl(cpu_reserve, t0); + tcg_gen_movi_tl(cpu_reserve_size, memop_size(memop));
Not that it really matters, this produces a byte value...
@@ -3873,6 +3879,7 @@ static void gen_lqarx(DisasContext *ctx) EA = tcg_temp_new(); gen_addr_reg_index(ctx, EA); tcg_gen_mov_tl(cpu_reserve, EA); + tcg_gen_movi_tl(cpu_reserve_size, 128);
... so perhaps ideally this would be 16. Perhaps name it reserve_length to exactly match the manual. Otherwise, Reviewed-by: Richard Henderson <richard.hender...@linaro.org> r~