X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=exec.c;h=23013fbd13f0ac7ef25215664752fa92a8030346;hb=8edac960a7deabd8c569fde189c2958e656d9115;hp=8245ac0409a4d561d3efed2bbaf35bfd359ed8e5;hpb=0bf46a40a1fe22e35df344af1a8825f3b47a91e0;p=qemu diff --git a/exec.c b/exec.c index 8245ac0..23013fb 100644 --- a/exec.c +++ b/exec.c @@ -1542,6 +1542,17 @@ void cpu_interrupt(CPUState *env, int mask) old_mask = env->interrupt_request; env->interrupt_request |= mask; +#ifndef CONFIG_USER_ONLY + /* + * If called from iothread context, wake the target cpu in + * case its halted. + */ + if (!qemu_cpu_self(env)) { + qemu_cpu_kick(env); + return; + } +#endif + if (use_icount) { env->icount_decr.u16.high = 0xffff; #ifndef CONFIG_USER_ONLY