diff options
author | Christian Borntraeger <borntraeger@de.ibm.com> | 2011-05-05 09:29:57 +0200 |
---|---|---|
committer | Alexander Graf <agraf@suse.de> | 2011-05-20 17:35:12 +0200 |
commit | 71b12d31971751f46c546d693c1e216f38ba2053 (patch) | |
tree | b619840675cca22b4a44494c6c970faa262e8ec8 /target-s390x | |
parent | 1fddfba129f5435c80eda14e8bc23fdb888c7187 (diff) |
s390x: fix smp support for kvm
Currently smp support for kvm does not work. 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 the kvm run ioctl. (these CPUs will be started
by a SIGP restart later during the boot process)
We need to tell the loop that this cpu should not run. Jan Kiszka pointed
out that kvm_arch_process_async_events is the right place to do.
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'target-s390x')
-rw-r--r-- | target-s390x/kvm.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/target-s390x/kvm.c b/target-s390x/kvm.c index 2643460722..315569313c 100644 --- a/target-s390x/kvm.c +++ b/target-s390x/kvm.c @@ -179,7 +179,7 @@ void kvm_arch_post_run(CPUState *env, struct kvm_run *run) int kvm_arch_process_async_events(CPUState *env) { - return 0; + return env->halted; } void kvm_s390_interrupt_internal(CPUState *env, int type, uint32_t parm, |