diff options
-rw-r--r-- | arch/s390/include/asm/sigp.h | 1 | ||||
-rw-r--r-- | arch/s390/kvm/sigp.c | 5 |
2 files changed, 6 insertions, 0 deletions
diff --git a/arch/s390/include/asm/sigp.h b/arch/s390/include/asm/sigp.h index c002cd529c71..d091aa1aaf11 100644 --- a/arch/s390/include/asm/sigp.h +++ b/arch/s390/include/asm/sigp.h | |||
@@ -5,6 +5,7 @@ | |||
5 | #define SIGP_SENSE 1 | 5 | #define SIGP_SENSE 1 |
6 | #define SIGP_EXTERNAL_CALL 2 | 6 | #define SIGP_EXTERNAL_CALL 2 |
7 | #define SIGP_EMERGENCY_SIGNAL 3 | 7 | #define SIGP_EMERGENCY_SIGNAL 3 |
8 | #define SIGP_START 4 | ||
8 | #define SIGP_STOP 5 | 9 | #define SIGP_STOP 5 |
9 | #define SIGP_RESTART 6 | 10 | #define SIGP_RESTART 6 |
10 | #define SIGP_STOP_AND_STORE_STATUS 9 | 11 | #define SIGP_STOP_AND_STORE_STATUS 9 |
diff --git a/arch/s390/kvm/sigp.c b/arch/s390/kvm/sigp.c index 509547d4fca1..87c2b3a3bd3e 100644 --- a/arch/s390/kvm/sigp.c +++ b/arch/s390/kvm/sigp.c | |||
@@ -455,6 +455,11 @@ int kvm_s390_handle_sigp(struct kvm_vcpu *vcpu) | |||
455 | rc = __sigp_sense_running(vcpu, cpu_addr, | 455 | rc = __sigp_sense_running(vcpu, cpu_addr, |
456 | &vcpu->run->s.regs.gprs[r1]); | 456 | &vcpu->run->s.regs.gprs[r1]); |
457 | break; | 457 | break; |
458 | case SIGP_START: | ||
459 | rc = sigp_check_callable(vcpu, cpu_addr); | ||
460 | if (rc == SIGP_CC_ORDER_CODE_ACCEPTED) | ||
461 | rc = -EOPNOTSUPP; /* Handle START in user space */ | ||
462 | break; | ||
458 | case SIGP_RESTART: | 463 | case SIGP_RESTART: |
459 | vcpu->stat.instruction_sigp_restart++; | 464 | vcpu->stat.instruction_sigp_restart++; |
460 | rc = sigp_check_callable(vcpu, cpu_addr); | 465 | rc = sigp_check_callable(vcpu, cpu_addr); |