[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 19/22] tcg/sparc64: Reorg goto_tb implementation
From: |
Alex Bennée |
Subject: |
Re: [PATCH v2 19/22] tcg/sparc64: Reorg goto_tb implementation |
Date: |
Tue, 17 Jan 2023 18:33:03 +0000 |
User-agent: |
mu4e 1.9.15; emacs 29.0.60 |
Richard Henderson <richard.henderson@linaro.org> writes:
> The old sparc64 implementation may replace two 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 a
> direct branch and a direct call. The TCG_REG_TB register is loaded
> from tb->jmp_target_addr[] in the delay slot.
>
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
- Re: [PATCH v2 15/22] tcg: Remove TCG_TARGET_HAS_direct_jump, (continued)
- [PATCH v2 13/22] tcg: Move tb_target_set_jmp_target declaration to tcg.h, Richard Henderson, 2023/01/08
- [PATCH v2 16/22] tcg/aarch64: Reorg goto_tb implementation, Richard Henderson, 2023/01/08
- [PATCH v2 17/22] tcg/ppc: Reorg goto_tb implementation, Richard Henderson, 2023/01/08
- [PATCH v2 18/22] tcg/sparc64: Remove USE_REG_TB, Richard Henderson, 2023/01/08
- [PATCH v2 19/22] tcg/sparc64: Reorg goto_tb implementation, Richard Henderson, 2023/01/08
- Re: [PATCH v2 19/22] tcg/sparc64: Reorg goto_tb implementation,
Alex Bennée <=
- [PATCH v2 20/22] tcg/arm: Implement direct branch for goto_tb, Richard Henderson, 2023/01/08
- [PATCH v2 21/22] tcg/riscv: Introduce OPC_NOP, Richard Henderson, 2023/01/08
- [PATCH v2 22/22] tcg/riscv: Implement direct branch for goto_tb, Richard Henderson, 2023/01/08
- Re: [PATCH v2 00/22] tcg: exit_tb tidy, goto_tb reorg, Richard Henderson, 2023/01/14