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~

Reply via email to