On 02/14/2017 09:50 PM, Alex Bennée wrote:
Richard Henderson <r...@twiddle.net> writes:
On 02/13/2017 11:10 PM, Alex Bennée wrote:
@@ -239,9 +240,16 @@ static void cpu_exec_step(CPUState *cpu)
<snip>
+ } else if (r == EXCP_ATOMIC) {
+ qemu_mutex_unlock_iothread();
+ cpu_exec_step_atomic(cpu);
+ qemu_mutex_lock_iothread();
...
+ case EXCP_ATOMIC:
+ qemu_mutex_unlock_iothread();
+ cpu_exec_step_atomic(cpu);
+ qemu_mutex_lock_iothread();
I just noticed this, but if you have to do a v13, it might be best to
move these locks inside cpu_exec_step_atomic, as with tcg_cpu_exec.
Otherwise leave it for later.
Will that work given cpu_exec_step_atomic() is common between linux-user
and system emulation?
Ug. No, you're right.
r~