On 2011-02-01 14:14, Marcelo Tosatti wrote: > On Thu, Jan 27, 2011 at 02:10:00PM +0100, Jan Kiszka wrote: >> Introduce qemu_cpu_kick_self to send SIG_IPI to the calling VCPU >> context. First user will be kvm. >> >> Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> >> --- >> cpus.c | 21 +++++++++++++++++++++ >> qemu-common.h | 1 + >> 2 files changed, 22 insertions(+), 0 deletions(-) >> >> diff --git a/cpus.c b/cpus.c >> index bba59e5..88bed4e 100644 >> --- a/cpus.c >> +++ b/cpus.c >> @@ -531,6 +531,17 @@ void qemu_cpu_kick(void *env) >> return; >> } >> >> +void qemu_cpu_kick_self(void) >> +{ >> +#ifndef _WIN32 >> + assert(cpu_single_env); >> + >> + raise(SIG_IPI); >> +#else >> + abort(); >> +#endif >> +} >> + >> void qemu_notify_event(void) >> { >> CPUState *env = cpu_single_env; >> @@ -808,6 +819,16 @@ void qemu_cpu_kick(void *_env) >> } >> } >> >> +void qemu_cpu_kick_self(void) >> +{ >> + assert(cpu_single_env); >> + >> + if (!cpu_single_env->thread_kicked) { >> + qemu_thread_signal(cpu_single_env->thread, SIG_IPI); >> + cpu_single_env->thread_kicked = true; >> + } >> +} >> + > > There is no need to use cpu_single_env, can pass CPUState instead. > It's done intentionally this way: function shall not be used for a remote env. Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html