From fdbc2b5722f6092e47181a947c90fd4bdcc1c121 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Wed, 29 Jun 2016 22:12:55 -0700 Subject: tcg: Add EXCP_ATOMIC MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When we cannot emulate an atomic operation within a parallel context, this exception allows us to stop the world and try again in a serial context. Reviewed-by: Emilio G. Cota Reviewed-by: Alex Bennée Signed-off-by: Richard Henderson --- cpu-exec-common.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'cpu-exec-common.c') diff --git a/cpu-exec-common.c b/cpu-exec-common.c index 0cb4ae60ef..767d9c6f0c 100644 --- a/cpu-exec-common.c +++ b/cpu-exec-common.c @@ -77,3 +77,9 @@ void cpu_loop_exit_restore(CPUState *cpu, uintptr_t pc) } siglongjmp(cpu->jmp_env, 1); } + +void cpu_loop_exit_atomic(CPUState *cpu, uintptr_t pc) +{ + cpu->exception_index = EXCP_ATOMIC; + cpu_loop_exit_restore(cpu, pc); +} -- cgit 1.4.1