qemu/tcg/ppc
Richard Henderson 20b6643324 tcg/ppc: Reorg goto_tb implementation
The old ppc64 implementation replaces 2 or 4 insns, which leaves a race
condition in which a thread could be stopped at a PC in the middle of
the sequence, and when restarted does not see the complete address
computation and branches to nowhere.

The new implemetation replaces only one insn, swapping between

	b       <dest>
and
	mtctr	r31

falling through to a general-case indirect branch.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2023-01-17 10:36:16 -10:00
..
tcg-target-con-set.h tcg/ppc: Split out constraint sets to tcg-target-con-set.h 2021-02-02 12:12:43 -10:00
tcg-target-con-str.h tcg/ppc: Split out target constraints to tcg-target-con-str.h 2021-02-02 12:12:31 -10:00
tcg-target.c.inc tcg/ppc: Reorg goto_tb implementation 2023-01-17 10:36:16 -10:00
tcg-target.h tcg/ppc: Reorg goto_tb implementation 2023-01-17 10:36:16 -10:00
tcg-target.opc.h tcg/ppc: Implement INDEX_op_rot[lr]v_vec 2020-06-02 08:42:37 -07:00