From 0af691d779965663abdd7bc708c2ad7bce2f6da0 Mon Sep 17 00:00:00 2001 From: Marcelo Tosatti Date: Tue, 4 May 2010 09:45:27 -0300 Subject: kvm: enable smp > 1 Process INIT/SIPI requests and enable -smp > 1. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity --- target-i386/kvm.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'target-i386') diff --git a/target-i386/kvm.c b/target-i386/kvm.c index c9ec72eee7..bd7a190678 100644 --- a/target-i386/kvm.c +++ b/target-i386/kvm.c @@ -1073,6 +1073,22 @@ int kvm_arch_post_run(CPUState *env, struct kvm_run *run) return 0; } +int kvm_arch_process_irqchip_events(CPUState *env) +{ + if (env->interrupt_request & CPU_INTERRUPT_INIT) { + kvm_cpu_synchronize_state(env); + do_cpu_init(env); + env->exception_index = EXCP_HALTED; + } + + if (env->interrupt_request & CPU_INTERRUPT_SIPI) { + kvm_cpu_synchronize_state(env); + do_cpu_sipi(env); + } + + return env->halted; +} + static int kvm_handle_halt(CPUState *env) { if (!((env->interrupt_request & CPU_INTERRUPT_HARD) && -- cgit v1.2.1