From: Thomas Huth <th...@linux.vnet.ibm.com> This patch adds the missing START order to the SIGP instruction handler.
Signed-off-by: Thomas Huth <th...@linux.vnet.ibm.com> Reviewed-by: Cornelia Huck <cornelia.h...@de.ibm.com> Signed-off-by: Jens Freimann <jf...@linux.vnet.ibm.com> --- target-s390x/kvm.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/target-s390x/kvm.c b/target-s390x/kvm.c index 8c54134..fcc159f 100644 --- a/target-s390x/kvm.c +++ b/target-s390x/kvm.c @@ -588,6 +588,14 @@ static int handle_diag(S390CPU *cpu, struct kvm_run *run, uint32_t ipb) return r; } +static int kvm_s390_cpu_start(S390CPU *cpu) +{ + s390_add_running_cpu(cpu); + qemu_cpu_kick(CPU(cpu)); + DPRINTF("DONE: KVM cpu start: %p\n", &cpu->env); + return 0; +} + int kvm_s390_cpu_restart(S390CPU *cpu) { kvm_s390_interrupt(cpu, KVM_S390_RESTART, 0); @@ -642,6 +650,9 @@ static int handle_sigp(S390CPU *cpu, struct kvm_run *run, uint8_t ipa1) } switch (order_code) { + case SIGP_START: + r = kvm_s390_cpu_start(target_cpu); + break; case SIGP_RESTART: r = kvm_s390_cpu_restart(target_cpu); break; -- 1.8.3.4