Re: [Qemu-devel] s390x kvm and smp
On 2011-05-04 12:43, Christian Borntraeger wrote: > 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? s390 just need to return a meaningful value from kvm_arch_process_async_events, e.g. env->halted, see other archs. Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux
Re: [Qemu-devel] s390x kvm and smp
On 04/05/11 12:59, Jan Kiszka wrote: > s390 just need to return a meaningful value from > kvm_arch_process_async_events, e.g. env->halted, see other archs. Yes indeed. This patch fixes smp for kvm on s390x. Signed-off-by: Christian Borntraeger --- a/target-s390x/kvm.c +++ b/target-s390x/kvm.c @@ -172,7 +172,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,
Re: [Qemu-devel] s390x kvm and smp
Am 04.05.2011 um 18:13 schrieb Christian Borntraeger : > On 04/05/11 12:59, Jan Kiszka wrote: >> s390 just need to return a meaningful value from >> kvm_arch_process_async_events, e.g. env->halted, see other archs. > > Yes indeed. This patch fixes smp for kvm on s390x. > > Signed-off-by: Christian Borntraeger Now give it a proper patch description and I'll get it in through my tree :) Alex >