Alex,

I have trouble getting kvm smp support running. Turns out that qemu does a kvm
run even on secondary CPUs which dont have a sane state (initial psw == 0)
triggering some program faults. Architecturally these cpus are in the stopped
state, so we should not do KVM_RUN. (these CPUs will be started by a SIGP
restart later during the boot process)

This patch seems to help (it allows me to boot and use more than 1 cpu)

--- a/cpus.c
+++ b/cpus.c
@@ -131,6 +131,10 @@ static void do_vm_stop(int reason)
 
 static int cpu_can_run(CPUState *env)
 {
+    if (env->halted) {
+        return 0;
+    }
+
     if (env->stop) {
         return 0;
     }

but it does not look like the right solution. What are the proper
definitions for halted and stopped?

Christian

Reply via email to