@@ -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 <[email protected]>
r~