> return false; > diff --git a/target/s390x/excp_helper.c b/target/s390x/excp_helper.c > index 931c0103c8..f2a93abf01 100644 > --- a/target/s390x/excp_helper.c > +++ b/target/s390x/excp_helper.c > @@ -480,10 +480,13 @@ bool s390_cpu_exec_interrupt(CPUState *cs, int interrupt_request) > the parent EXECUTE insn. */ > return false; > } > + qemu_mutex_lock_iothread(); > if (s390_cpu_has_int(cpu)) { > s390_cpu_do_interrupt(cs); You can directly use s390_cpu_do_interrupt_locked() here. > + qemu_mutex_unlock_iothread(); > return true; > } > + qemu_mutex_unlock_iothread(); > if (env->psw.mask & PSW_MASK_WAIT) { > /* Woken up because of a floating interrupt but it has already > * been delivered. Go back to sleep. */ > -- Thanks, David / dhildenb