From 8edac960a7deabd8c569fde189c2958e656d9115 Mon Sep 17 00:00:00 2001 From: aliguori Date: Fri, 24 Apr 2009 18:03:45 +0000 Subject: qemu: introduce qemu_cpu_kick (Marcelo Tosatti) To notify cpu of pending interrupt. Signed-off-by: Marcelo Tosatti Signed-off-by: Anthony Liguori git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7243 c046a42c-6fe2-441c-8c8c-71466251a162 --- exec.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'exec.c') 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 -- cgit v1.1